上篇博文简单的介绍了Quartz的基本使用,现在介绍一下最常用的触发器:CronTrigger
。
CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。 CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。 即便如此,SimpleTrigger一样,CronTrigger拥有的startTime指定的时间表时生效,指定的时间表时,应停止(可选)结束时间。
CronTirgger 类似于 LINUX 上的任务调度命令 crontab,即利用一个包含 7 个字段的表达式来表示时间调度方式。
字段 | 允许值 | 允许的特殊字符 |
---|---|---|
Seconds(秒) | 0-59 | , - * / |
Minutes(分) | 0-59 | , - * / |
Hours(小时) | 0-23 | , - * / |
Day-of-Month(日期) | 1-31 | , - * ? / L W C |
Month(月份) | 1-12 或者 JAN-DEC ( JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV、 DEC) | , - * / |
Day-of-Week(星期) | 1-7 或者 SUN-SAT ( SUN, MON, TUE, WED, THU, FRI、SAT) | , - * ? / L C # |
Year(年)(可选) | 留空, 1970-2099 | , - * / |
例如,”0 15 10 * * ? *” 表示每天的 10:15AM 执行任务。”0 10 14 ? 3 WED” 表示三月份的每个星期三的下午 14:10PM 执行任务。
CronExpBuilder 主要有两个功能:
生成 Cron表达式
如上图所示,使用 CronExpBuilder
可以很方便的生成 Cron表达式。
解析 Cron表达式
如上图所示,使用 CronExpBuilder
可以很方便的解析 Cron表达式。
下载地址: https://bintray.com/artifact/download/wjw465150/Java/CronExpBuilder.jar github地址:https://github.com/wjw465150/CronExpBuilder
相关博文: Quartz入门指南