Java 如何在启动Spring启动计划程序之前进行一些预处理?

Java 如何在启动Spring启动计划程序之前进行一些预处理?,java,spring-boot,scheduler,Java,Spring Boot,Scheduler,我想有一些基本的预处理代码,每次启动调度器之前只需要运行一次。我们如何在Spring Boot中实现同样的功能?如果只想运行一次代码,可以等到Spring就绪后再运行代码。要实现这一点,您可以收听以下事件: @EventListener(ApplicationReadyEvent.class) public void doSomethingAfterStartup() { System.out.println("run your code here"); } 您可以将该代码放入应用程序类中

我想有一些基本的预处理代码,每次启动调度器之前只需要运行一次。我们如何在Spring Boot中实现同样的功能?

如果只想运行一次代码,可以等到Spring就绪后再运行代码。要实现这一点,您可以收听以下事件:

@EventListener(ApplicationReadyEvent.class)
public void doSomethingAfterStartup() {
  System.out.println("run your code here");
}

您可以将该代码放入应用程序类中以查看结果。

是否正在查找该代码?还有其他选择。但请详细说明这个问题

@Component
public class Cache {

     ...

     @PostConstruct
     public void initializeCache() {
     ...
     }

     @Scheduled(fixedRate = 60L * 1000L)
     public void refreshCache() {
     ...
     }

}

信用证:

启动spring boot时是否可以启动预处理?具体来说,是哪种“基本预处理代码”?是否希望在每个计划作业开始运行之前进行预处理?我只希望在应用程序启动时进行一次预处理,然后调度程序代码可以执行相同的次数。但如果应用程序停止并重新启动,我希望在运行SchedulerId之前再次运行预处理。你找到解决方案了吗?我认为她不是那个意思!她希望在应用程序启动后触发每个计划作业之前进行预处理。计划程序将在ApplicationReadyEvent之前执行。我想要的是阻止调度程序,直到预处理完全执行为止。这也只是在应用程序启动时,而不是在每个调度程序作业运行之前。请您以某种方式重新表述您想要的内容。我不太明白。你找到解决办法了吗?@AnandVarkeyPhilips,我还在找。欢迎您的帮助。。如果您发布了一些代码,其他人可能会很容易地更早地给出此解决方案:)