CronTriggers通常比SimpleTrigger更有用,当您需要基于日历概念而不是SimpleTrigger完全指定的时间间隔来执行作业时。
CronTrigger 允许您指定基于日历的触发计划,例如:
与 SimpleTrigger 一样,CronTrigger 具有 startTime(计划生效的时间)和可选的 endTime(计划应停止的时间)。
Cron表达式是由7个子表达式组成的字符串,描述时间表的各个细节:
秒 分 时 日 月 周 年 (年字段可选)
例如:"0 0 12 ? * WED" 表示每星期三下午12:00执行
字段 | 允许值 | 特殊字符 |
---|---|---|
秒 (Seconds) | 0-59 | , - * / |
分 (Minutes) | 0-59 | , - * / |
时 (Hours) | 0-23 | , - * / |
日 (Day-of-Month) | 1-31 | , - * ? / L W |
月 (Month) | 0-11 或 JAN-DEC | , - * / |
周 (Day-of-Week) | 1-7 (1=星期日) 或 SUN-SAT | , - * ? / L # |
年 (Year - 可选) | 1970-2099 | , - * / |
字符 | 含义 | 示例 |
---|---|---|
* | 所有值 | "*" 在分字段表示每分钟 |
? | 不指定值(仅用于日和周日段) | "?" 在日字段表示忽略该字段 |
- | 范围 | "10-12" 在时字段表示10、11、12点 |
, | 列出多个值 | "MON,WED,FRI" 在周字段表示周一、三、五 |
/ | 增量 | "0/15" 在秒字段表示从0秒开始每15秒 |
L | 最后一天(月或周) | "L" 在日字段表示当月最后一天 |
W | 最近工作日 | "15W" 在日字段表示15日最近的工作日 |
# | 每月第n个工作日 | "6#3" 在周字段表示每月第三个星期五 |