我正在一个Spring Batch项目中,该项目有两个包含@SpringBootApplication
的Main类。我还必须使用@Scheduler
并将其仅与一个Main类关联。但是这里的问题是无论我运行哪个类,调度程序都将被执行。下面的代码段,
MainApp1.java
@SpringBootApplication
@EnableScheduling
public class MainApp1{
public static void main(String[] args) {
SpringApplication.run(MainApp1.class, args);
}
}
MainApp2.java
@SpringBootApplication
public class MainApp2{
public static void main(String[] args) {
SpringApplication.run(MainApp2.class, args);
}
}
Scheduler.java
@Configuration
public class TmsBatchSenderScheduler {
@Scheduled(fixedDelay = 5000)
public void myScheduler() {
}
}
我认为这里发生的是由于@Configuration
注释而为两个主电源都创建了调度程序。有没有办法做到这一点?我希望调度程序仅在运行MainApp1
时运行。
预先感谢:)