我有一个Spring Boot应用程序,我使用Spring调度来安排cron作业。我的应用程序中有3个不同的模块:service-toolA,service-toolB和service-application。
我的服务应用程序模块具有Spring-Boot配置和Application类,如下所示:
package com.service.tool.main;
@SpringBootApplication
@ComponentScan("com.service.tool")
@EnableAsync
@EnableScheduling
public class Application {
public static void main(String args[]) {
SpringApplication.run(Application.class);
}
}
现在我在其他模块service-toolA和service-toolB中有我的预定作业。我已将它们配置如下:
@Scheduled(fixedRate = 4000)
public void printName() {
System.out.println("Hello World");
}
但是,当我运行应用程序时,计划作业无法启动。当我将这些Scheduled方法放在我的Application类所在的服务应用程序模块中时,它们会运行。
如何在不同的模块中运行它,配置在服务应用程序模块中?
答案 0 :(得分:0)
将具有printName()
的类的包添加到扫描的包列表中,例如:
@ComponentScan("com.service.tool","com.service.module1")