taskscheduler java_java – 针对不同任务的不同taskScheduler
我正在使用
Spring,我在我的應用程序中有幾個@Scheduled類:
@Component
public class CheckHealthTask {
@Scheduled(fixedDelay = 10_000)
public void checkHealth() {
//stuff inside
}
}
@Component
public class ReconnectTask {
@Scheduled(fixedDelay = 1200_000)
public void run() {
//stuff here
}
}
我希望第一個任務使用2個線程池,而第二個任務使用單個線程.我不希望第二個任務被卡住,因為第一個任務使用所有可用的線程,并且計算速度比fixedDelay時間慢.
當然,我的只是一個讓你了解這個想法的例子.
我可以使用這樣的配置類:
@Configuration
@EnableScheduling
public class TaskConfig implements SchedulingConfigurer {
@Override
public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
taskRegistrar.setScheduler(taskScheduler());
}
@Bean
public Executor taskScheduler() {
ThreadPoolTaskScheduler t = new ThreadPoolTaskScheduler();
t.setPoolSize(2);
t.setThreadNamePrefix("taskScheduler - ");
t.initialize();
return t;
}
}
我不明白如何為每個@Scheduled組件定義不同的配置.
總結
以上是生活随笔為你收集整理的taskscheduler java_java – 针对不同任务的不同taskScheduler的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java地图点线面_openlayers
- 下一篇: 微软更新 Win11 Moment 2