小编Meh*_*ani的帖子

Spring Boot中的并发调度方法

我有一个 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() 正在启动,依此类推,我的问题是我想同时启动这两种方法,请帮助我解决这个问题

java spring scheduled-tasks

3
推荐指数
1
解决办法
8612
查看次数

标签 统计

java ×1

scheduled-tasks ×1

spring ×1