Quartz允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。
Quartz核心的概念:scheduler任务调度、Job任务、JobDetail任务细节、Trigger触发器
- Scheduler:调度器,调度器接受一组JobDetail+Trigger即可安排一个任务,其中一个JobDetail可以关联多个Trigger
- Job:Job是任务执行的流程,是一个类
- JobDetail:JobDetail是Job是实例,是一个对象,包含了该实例的执行计划和所需要的数据
- Trigger:Trigger是定时器,决定任务何时执行
使用Quartz调度系统的思路就是,首先写一个具体的任务(job),配置任务的触发时间(Trigger),Scheduler很根据JobDetail+Trigger安排去执行此任务。
Quartz 定时器的时间设置
时间的配置如下:0 30 16 * * ?
时间大小由小到大排列,从秒开始,顺序为 秒,分,时,天,月,年 *为任意 ?为无限制。由此上面所配置的内容就是,在每天的16点30分启动buildSendHtml() 方法
具体时间设定可参考 :
“0/10 * * * * ?” 每10秒触发
“0 0 12 * * ?” 每天中午12点触发
“0 * 14 * * ?” 在每天下午2点到下午2:59期间的每1分钟触发
“0 10,44 14 ? 3 WED” 每年三月的星期三的下午2:10和2:44触发
“0 15 10 ? * MON-FRI” 周一至周五的上午10:15触发
“0 0 06,18 * * ?” 在每天上午6点和下午6点触发