CronTrigger可以完成比SimpleTrigger更为强大的时间触发设置。支持Crop Expression
Cron Expressions
详细解释了Cron表达式。具体内容可以直接阅读文档
Example Cron Expressions
列举了一些Cron表达式的例子。具体内容可以直接阅读文档
Building CronTriggers
可以通过TriggerBuilder和CronScheduleBuilder来创建一个CronTrigger。创建CronTrigger时,TriggerBuilder指定CronTrigger的一些主要属性,例如name和group的值;CronScheduleBuilder用来指定一些更具体的属性值,例如Cron表达式,比如如下的创建方式:
trigger = TriggerBuilder.newTrigger()
.withIdentity("trigger3", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0/2 8-17 * * ?"))
.forJob("myJob", "group1")
.build();
CronTrigger Misfire Instructions
同SimpleTrigger一样,当一个CronTrigger由于某种原因(比如说Scheduler意外退出)突然退出,并且该CronTrigger重新运行时,所采取的执行策略,可以在该Trigger创建时指定该策略:
trigger = newTrigger()
.withIdentity("trigger3", "group1")
.withSchedule(cronSchedule("0 0/2 8-17 * * ?")
.withMisfireHandlingInstructionFireAndProceed())
.forJob("myJob", "group1")
.build();