聊聊quartz,动态定时任务

总结:学习过java 的相信 对quartz 并不陌生,今天就来 聊聊quartz吧,它是提供强大的任务调度功能。

        首先聊下 概念:

  • Scheduler:调度容器
  • Job:Job接口类,即被调度的任务
  • JobDetail :Job的描述类,job执行时的依据此对象的信息反射实例化出Job的具体执行对象。
  • Trigger:触发器,存放Job执行的时间策略。用于定义任务调度时间规则。
  • JobStore: 存储作业和调度期间的状态,可以存内存也可以存数据库。
  • Calendar:指定排除的时间点(如排除法定节假日)

 

 

      使用:

     SimpleTrigger可以满足的调度需求是:在具体的时间点执行一次,或者在具体的时间点执行,并且以指定的间隔重复执行若干次。比如,你有一个trigger,你可以设置它在2015年1月13日的上午11:23:54准时触发,或者在这个时间点触发,并且每隔2秒触发一次, 一共重复5次。

      CronTrigger通常比Simple Trigger更有用,如果您需要基于日历的概念而不是按照SimpleTrigger的精确指定间隔进行重新启动的作业启动计划。使用CronTrigger,您可以指定号时间表,例如“每周五中午”或“每个工作日和上午9:30”,甚至“每周一至周五上午9:00至10点之间每5分钟”和1月份的星期五“。即使如此,和SimpleTrigger一样,CronTrigger有一个startTime,它指定何时生效,以及一个(可选的)endTime,用于指定何时停止计划。

    简单入门代码:注意 一个实例JobDetail 对应一个 实例触发器

  

执行器

 

 

下面是一个 做到数据库的支持 集群模式 调度器

 参考 链接:

* http://www.quartz-scheduler.org/documentation/
* https://www.w3cschool.cn/quartz_doc/quartz_doc-2put2clm.html
* http://ifeve.com/quartz-tutorial-quickstart/

 

springTask 静态任务 参考:

https://www.cnblogs.com/xiufengchen/p/10327609.html

 https://www.e-learn.cn/content/java/456995 

posted @ 2019-07-05 12:41  川流不息&  阅读(567)  评论(0编辑  收藏  举报