Spring Scheduled应在应用程序启动后立即启动



我需要添加调度器,它将每天运行,但同时,我希望在应用程序启动时运行调度器。但问题是scheduler并没有在应用程序启动后立即运行。

您可以实现ApplicationRunner接口,并在运行方法中执行您的业务逻辑

@Component
public class TaskRun implements ApplicationRunner {

@Override
public void run(ApplicationArguments args) throws Exception {
// do something
}
}

最后,我在Application.java 中使用了一个监听器来解决这个问题

@EventListener(ApplicationReadyEvent.class)
public void doSomethingOnceAppIsReady() {
//Calling a schedular method
mySchedular();
}

最新更新