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

时间:2021-05-21 09:27:04

标签: spring-boot scheduler

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

2 个答案:

答案 0 :(得分:0)

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

@Component
public class TaskRun implements ApplicationRunner {
    
    @Override
    public void run(ApplicationArguments args) throws Exception {
        // do something
    }
}

答案 1 :(得分:0)

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

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