今天工作的时候,一个发短信和个推的定时任务一直不执行,
debug模式调试断点进不去,最后对比其他项目的定时任务,发现是cron表达式出错。
在做每分钟执行一次的定时任务时,在cron表达式生成的网站上生成的表达式有错:
每分钟执行一次:
正确:@Scheduled(cron = “0 */1 * * * ?”)
错误:@Scheduled(cron = “0 0/1 * * * ?”)
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,(有些框架不支持7域的)每一个域代表一个含义,Cron有如下两种语法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year或
Seconds Minutes Hours DayofMonth Month DayofWeek
每一个域可出现的字符如下:
- Seconds:可出现", - * /"四个字符,有效范围为0-59的整数
- Minutes:可出现", - * /"四个字符,有效范围为0-59的整数
- Hours:可出现", - * /"四个字符,有效范围为0-23的整数
- DayofMonth:可出现", - * / ? L W C"八个字符,有效范围为0-31的整数
- Month:可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEc
- DayofWeek:可出现", - * / ? L C #"四个字符,有效范围为1-7的整数或SUN-
- SAT两个范围。1表示星期天,2表示星期一, 依次类推
- Year:可出现", - * /"四个字符,有效范围为1970-2099年
每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:
(1)* :表示匹配该域的任意值,假如在Minutes域使用*, 即表示每分钟都会触发事件。
(2)?:只能用在DayofMonth和DayofWeek两个域。它也

最低0.47元/天 解锁文章
1824

被折叠的 条评论
为什么被折叠?



