我们可以在 Spring 上进行@Scheduled执行,与 cron 参数混合,在引导时强制第一次执行吗?



我在互联网上搜索了很多关于Baeldung在这里提到的选项,但我找不到任何例子。我想使用这样的东西:

@Scheduled(cron="@reboot")
@Scheduled(cron="0 0 5 * * *")
public void somethingToDoOnRebootTime() {
// code here, to run every day at 5a.m., AND at boot first time... 
}

但它没有奏效,因为"@reboot"不是一个有效的 cron 表达式......我试图使用这个"@reboot"作为该方法的正常注释,但它也不存在......

有人可以帮助我吗?关于贝尔东的文章错了吗?

基于 @M.Deinum 注释...我使用了ApplicationListener,但使用了ApplicationReadyEvent!所以,我的例子变成了:

@EventListener(ApplicationReadyEvent.class)
@Scheduled(cron="0 0 5 * * *")
public void somethingToDoOnRebootTime() {
// code here, to run every day at 5a.m., AND at boot first time... 
}

最新更新