我有一个 Spring 应用程序,其中有两个用 @Component 注释的类,在每个类中,我有一个用 @Scheduled 注释的方法,这意味着我想以固定的时间间隔运行这些方法,如下所示:
这是第一个组件,它有一个 readFirstComponent() 方法,该方法从某处读取某些内容,并且需要一段时间才能执行,@Component public class FirstComp {
@Scheduled(fixedRate = 20000 )
public void readFirstComponent() {
// body
}
Run Code Online (Sandbox Code Playgroud)
//其他方法 }
第二个组件几乎与第一个组件执行相同的操作,
@Component
Run Code Online (Sandbox Code Playgroud)
公共类 SecondComp {
@Scheduled(fixedRate = 20000 )
public void readSecondComponent() {
// body
}
Run Code Online (Sandbox Code Playgroud)
//其他方法 }
我有一个运行程序类来启动应用程序
@SpringBootApplication
@EnableScheduling
@ImportResource("classpath:spring/Spring-AutoScan.xml")
public class Application {
public static void main(final String args[]) {
SpringApplication.run(Application.class);
}
Run Code Online (Sandbox Code Playgroud)
}
当我启动应用程序时,FirtComp 正在启动,readFirstComponent() 在近 14 秒后执行,然后来自 SecondComp 的 readSecondComponent() 正在启动,依此类推,我的问题是我想同时启动这两种方法,请帮助我解决这个问题