我是Spring中调度程序的新手。我阅读了许多关于@schedule的文章,但每个示例都以秒和毫秒为单位给出时间。
问题陈述:根据我的需求,在我的程序启动后,我的调度程序将在15分钟之后启动(初始延迟),然后每5分钟执行一次任务(FixedRate)。为实现这一点,我该如何以分钟为单位给出时间?有没有更好的方法来解决这个问题?
代码:
@Configuration
@EnableScheduling
public class ScheduledConfiguration {
@Scheduled(fixedDelay = 300000, initialDelay = 900000)
public void scheduleFixedRateWithInitialDelayTask() {
long now = System.currentTimeMillis() / 1000;
System.out.println("Fixed rate task with one second initial delay - " + now);
}
}
通过使用上述程序,我可以实现目标,但我想避免300000 / 900000毫秒的时间。
另一种方法:
@Scheduled(fixedDelay = 5 * 60 * 1000, initialDelay = 15 * 60 * 1000)