zoukankan      html  css  js  c++  java
  • 定时任务quartz

    定时任务quartz

    触发器 Trigger: 什么时候工作
    任务 Job: 做什么工作
    调度器 Scheduler: 搭配 Trigger和Job

    定义一个job

    实现quartz的Job接口,重写需要执行的方法。

    Job 其实是由 3 个部分组成:
    JobDetail: 用于描述这个Job是做什么的
    实现Job的类: 具体干活的
    JobDataMap: 给 Job 提供参数用的

    public class MyJob implements Job {
        @Override
        public void execute(JobExecutionContext context) throws JobExecutionException {
            String format = new SimpleDateFormat("现在是yyyy-MM-dd日,具体时间: HH:mm:ss").format(new Date());
            System.out.println(format);
        }
    }
    

    调度器和触发器

    @Test
        public void test() throws SchedulerException, InterruptedException {
            //获取一个定时调度器
            Scheduler scheduler = new StdSchedulerFactory().getScheduler();
            //修饰job的,比如分组
            JobDetail jobDetail = JobBuilder.newJob(MyJob.class).withIdentity("myjob","打印时间")
                    .build();
    
            //触发器,如何触发
            SimpleTrigger trigger = newTrigger().withIdentity("mytrigger", "处理打印时间的job").startNow()
                    .withSchedule(simpleSchedule()
                            .withIntervalInSeconds(2) //每隔2秒执行一次
                            .withRepeatCount(10)).build();
    
            //调度job和trigger
            scheduler.scheduleJob(jobDetail, trigger);
            scheduler.start();
            Thread.sleep(5000);
            scheduler.shutdown();
        }
    
    
    15:20:44.324 [DefaultQuartzScheduler_Worker-3] DEBUG org.quartz.core.JobRunShell - Calling execute on job 打印时间.myjob
    现在是2020-09-11日,具体时间: 15:20:44
    
  • 相关阅读:
    Python的未来发展方向
    loadrunner分析之网页、网络、资源分析
    Django框架Day2之Template
    Django框架Day3之Models
    Appium 常用的API函数
    Django框架Day1之url和views
    Loadrunner常用分析点
    WEB性能测试用例设计
    python之高阶函数map()和reduce()
    python csv文件打开错误:_csv.Error: line contains NULL byte
  • 原文地址:https://www.cnblogs.com/cgl-dong/p/13830961.html
Copyright © 2011-2022 走看看