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

Spring scheduled task after server reboot

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

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

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

不确定 */7 是什么意思,但我确定以下 cron 中的 1/7 表示:

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

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

我很确定它不会在 JVM 重启后继续存在。

如果您希望作业每 7 天 运行 一次,您最好从 cron(或类似的外部调度机制)安排它,而不是让 Spring 来完成它。