CronTrigger 的用途更广,相比基于特定时间间隔进行调度安排的 SimpleTrigger,CronTrigger 主要适用于基于日历的调度安排。例如:每星期二的 16:38:10 执行,每月一号执行,以及更复杂的调度安排等。
CronTrigger 同样需要指定 start-time 和 end-time,其核心在于 Cron 表达式,由七个字段组成:
Seconds Minutes Hours Day-of-Month Month Day-of-Week Year (Optional field) |
举例如下:
创建一个每三小时执行的 CronTrigger,且从每小时的整点开始执行:
0 0 0/3 * * ? |
创建一个每十分钟执行的 CronTrigger,且从每小时的第三分钟开始执行:
0 3/10 * * * ? |
创建一个每周一,周二,周三,周六的晚上 20:00 到 23:00,每半小时执行一次的 CronTrigger:
0 0/30 20-23 ? * MON-WED,SAT |
创建一个每月最后一个周四,中午 11:30-14:30,每小时执行一次的 trigger:
0 30 11-14/1 ? * 5L