当前位置:   article > 正文

quartz 定时任务的使用_quartz中要实现具体业务逻辑的方法写在哪

quartz中要实现具体业务逻辑的方法写在哪

参考文章:https://blog.csdn.net/noaman_wgs/article/details/80984873

定时任务有这么几部分组成,专门写业务逻辑的地方(job);定时信息的设置(Trigge ); 调度器 Scheduler(将任务job与 触发器Trigge 结合 );

完整的demo 直接上代码吧:

  1. package com.quartz.task;
  2. import org.quartz.Job;
  3. import org.quartz.JobExecutionContext;
  4. import org.quartz.JobExecutionException;
  5. /**
  6. * @ClassName TaskJob
  7. * @Description TODO
  8. * @Date 2019/10/17 10:22
  9. * @Version 1.0.0
  10. **/
  11. public class TaskJob implements Job {
  12. @Override
  13. public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
  14. System.out.println("任务执行中---------");
  15. }
  16. }

 

 

  1. package com.quartz.task;
  2. import org.quartz.*;
  3. import org.quartz.impl.StdSchedulerFactory;
  4. import java.util.Date;
  5. import java.util.concurrent.TimeUnit;
  6. /**
  7. * @ClassName MyScheduler
  8. * @Description TODO 该类是定时任务实现的实例 完全基于代码 ,而不是xml方式实现的
  9. * @Date 2019/10/17 10:23
  10. * @Version 1.0.0
  11. **/
  12. public class MyScheduler {
  13. public static void main(String[] args) throws SchedulerException, InterruptedException {
  14. //1 创建 scheduler 实例
  15. SchedulerFactory scheFactory =new StdSchedulerFactory();
  16. Scheduler scheduler = scheFactory.getScheduler();
  17. // 2 创建JobDeatil 实例
  18. JobDetail jobDetail = JobBuilder.newJob(TaskJob.class)
  19. .withIdentity("job1", "group1").build();
  20. // 3 创建Trigger实例 每隔一秒 执行一次
  21. // Trigger trigger = TriggerBuilder.newTrigger()
  22. // .withIdentity("trigger", "trigger")
  23. // .startNow()
  24. // .withSchedule(
  25. // SimpleScheduleBuilder.simpleSchedule()
  26. // .withIntervalInMilliseconds(1000)
  27. // .repeatForever()//一直执行
  28. // ).build();
  29. // 创建 CronTrigger
  30. Date startDate = new Date();
  31. startDate.setTime(startDate.getTime() + 5000);
  32. Date endDate = new Date();
  33. endDate.setTime(startDate.getTime() + 5000);
  34. Trigger trigger = TriggerBuilder.newTrigger()
  35. .withIdentity("trigger", "trigger")
  36. .usingJobData("job1", "这是jobDetail1的trigger")
  37. .startNow()//立即生效
  38. .startAt(startDate)
  39. .endAt(endDate)
  40. // cron 表达式
  41. .withSchedule(CronScheduleBuilder.cronSchedule("*/5 * * * * ?"))
  42. .build();
  43. // 4执行
  44. scheduler.scheduleJob(jobDetail,trigger);
  45. System.out.println("start 开始执行定时任务");
  46. scheduler.start();
  47. //睡眠
  48. TimeUnit.MINUTES.sleep(1);
  49. scheduler.shutdown();
  50. System.out.println("--------scheduler shutdown ! ------------");
  51. }
  52. }

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/745210
推荐阅读
相关标签
  

闽ICP备14008679号