无法避免在启动时触发作业

时间:2018-02-08 10:27:31

标签: scheduled-tasks spring-batch batch-processing job-scheduling spring-scheduled

我正在使用批处理,我希望它在特定的cron预定时间运行。但是,作业将在启动时触发,并在预定时间再次触发。我试图避免前者,但没有这样做。这是一个重现相同问题的示例存储库:https://github.com/ppanigrahi02/BatchJobWithScheduler。我正在使用弹簧指南示例https://github.com/spring-guides/gs-batch-processing并在其上添加了一个调度程序。我会非常感谢任何线索。

1 个答案:

答案 0 :(得分:0)

使用的@Scheduled注释here将在启动时立即启动作业,每600000毫秒。如果要在第一次执行之前指定要等待的初始延迟,可以使用注释的initialDelay属性,如:

@Scheduled(initialDelay = 600000, fixedRate = 600000)

另一种选择是使用cron属性并提供cron表达式。有关此批注的更多详细信息,请参阅此处的参考文档:https://docs.spring.io/spring/docs/5.0.3.RELEASE/spring-framework-reference/integration.html#scheduling-annotation-support-scheduled