Java 定时任务调度器

前台发来请求,后台创建并添加job,scheduler.scheduleJob(jobDetail, trigger); 到调度器

调度器读取,trigger 判断执行周期,

读取jobDetail判读执行内容.

依次创建了scheduler(调度器)、job(任务)、trigger(触发器),其中,job指定了MyJob,trigger保存job的触发执行策略(每隔3s执行一次),scheduler将job和trigger绑定在一起(scheduler.scheduleJob(jobDetail, trigger);
 

前台 传来任务scheduleJob job, 
{JobCron任务执行周期(cron表达式)}

      Class<? extends Job> clazz = QuartzJobFactory.class
      //jobDetail根据clazz
      JobDetail jobDetail = JobBuilder.newJob(clazz).withIdentity(job.getJobName(), job.getJobGroup()).build();
      jobDetail.getJobDataMap().put(TaskUtils.SCHEDULE_JOB, job);
      CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(job.getJobCron());
      trigger = TriggerBuilder.newTrigger().withIdentity(job.getJobName(), job.getJobGroup())
          .withSchedule(scheduleBuilder).build();
      scheduler.scheduleJob(jobDetail, trigger);
      
      //一个jobDetail是一个job,
      
     不同job不可共用trigger
     
     //当调度器开始调度任务
        scheduler.start();
        
        会根据触发器定时去开始调度 job中的execute
        
        一般会在execute中
     
https://blog.csdn.net/wtdask/article/details/78929199

QuartzScheduler

https://www.cnblogs.com/longqingyang/p/7027897.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值