服务器重启后的Spring计划任务

时间:2017-09-19 15:22:34

标签: java spring cron spring-scheduled

我在 Spring 3 中使用 @Scheduled 注释。我需要每周或每两周运行一些任务,所以我使用 cron 表达式作为参数,例如。

@Scheduled("0 0 2 */7 * *")

我的问题是,如果我将创建必须每7天运行一次的计划任务,并且在第6天我将重新启动服务器(使用war重新部署)它将重置此计划任务(我需要再次等待7天)或者它保存了它的状态并且还会在7日触发这个任务?

2 个答案:

答案 0 :(得分:0)

不确定*/7的含义,但我确定以下cron中的1/7表示:

从每月的第一天开始,每月每7天凌晨2点开火

@Scheduled("0 0 2 1/7 * ?")

答案 1 :(得分:0)

我很确定它无法在JVM重启后继续存在。

如果你想让这个工作每七天运行一次,你可能会更好地从cron(或类似的外部调度机制)安排它,而不是让Spring去做。