利用Quartz组件实现java定时调度
Quartz的cron表达式:顺序为秒、分、时、天、月、星期、年,其中。秒为0~59,分为0~59,时为0~23,天为每个月的天数,月为0~11,星期为1~7(1=sun或sun、mon、tue、wed、thu、fri、sat),年份为1970~2099;其中每个元素可以是一个值(如6),一个连续的区间(如9-12),一个间隔时间(8-18/4:每隔4小时),一个列表(1,3,5),通配符。由于“月份中的日期”和“星期中的日期”这两个元素互斥,必须要对其中一个置为“?”
如: (秒 分 时 天 月 星期 年)
0 0 10,14,16 * * ?:表示每天上午10点、下午2点、下午4点
0 0/30 9-17 * * ?:表示早上9点到下午五点的从0到30分钟的半小时内
0 0 12 ? * wed:表示每个星期的星期三中午12点
有些表达式能包含一些范围或列表,如:字表达式(天(星期))可以为:“mon-fri”,“mon,wed,fri”, “mon-wed, sat”
通配符的使用:
*:在月表达式中表示每个月的含义,在每个星期中表达一个星期的每一天
?:因为每个月的某一天不能确定是星期几,故在使用具体月的天值时星期使用?表示,避免错误
/:用来指定数值的增量值,如:在字表达式(分钟)里0/15表示从第0分钟开始,每15分钟调度一次;3/20表示从第3分钟开始,每20分钟调度一次,和表达式3,23,43一样的含义
L:字符仅被用于月和星期两个子表达式,它的单词为“Last”的缩写,但含义不同;在月表达式中L表示一个