关于Spring定时器学习记录

Spring定时器:

1、时间表达式配置

需要配置的从左到右依次是秒 分 时 日 月 星期 年(可选)

具体为:秒 0-59 , - * /   | 分 0-59 , - * /   | 小时 0-23 , - * /  | 日期 1-31 , - * ? / L W C   | 月份 1-12 或者 JAN-DEC , - * /   | 星期 1-7 或者 SUN-SAT , - * ? / L C #  | 年(可选) 留空, 1970-2099 , - * / 

其中,星期可以如下格式指定:“MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”。
符号解释:
1、“*”表示区全值。
2、“/”则用来表示数值的增量,如在下面的“每分钟触发”中“0/1”(分钟位)则表示从第0分钟开始,增量为1分钟(即每分钟触发一次)
3、“?”仅用在月和星期(可参照前面讲解) 当2 个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”  

4、“L”: 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写  

但是它在两个子表达式里的含义是不同的。  

子表达式中,“L”表示一个月的最后一天 , 

在星期子表达式中,“L”表示一个星期的最后一天,也就是SAT  

如果在“L”前有具体的内容,它就具有其他的含义了:如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最后一个星期五  

注意:在使用“L ”参数时,不要指定列表或范围,因为这会导致问题

表达式示例:

  • 每天中午12.30触发:"0 30 12 * * ?"
  • 每隔一分钟触发:"0 0/1 * * * "
  • 具体时间 如:2008_8_8 20:08:08:"08 08 20 8 8 ? 2008"
  • "0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
还有一些其他的表达式:

"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发  

"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发   

"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发  

"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发   

"0 15 10 15 * ?" 每月15日上午10:15触发  

"0 15 10 L * ?" 每月最后一日的上午10:15触发   

"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发   

"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发   

"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发   

"0 */2 * * *   | 0 23-7/2,8 * * * ":晚上11点到早上8点之间每两个小时,早上八点   

"0 */2 * * * | 0 11 4 * 1-3":每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点   




本博客做学习笔记之用,也供同学们学习交流,如有问题敬请指教。

你可能感兴趣的:(spring)