java - 将 Spring 的 @Scheduled 注释与特定的执行程序一起使用

标签 java spring spring-boot quartz-scheduler

如何让我的 Spring 调度方法使用特定的执行程序运行?

例如,这是我的 spring scheduler 方法之一,

@Scheduled(fixedRate=1000)
public void scheduleJobs(){
    doThese();
}

下面是我的 Java 配置中定义的 2 个执行器:

@Bean
public Executor taskScheduler() {
    ThreadPoolTaskScheduler t = new ThreadPoolTaskScheduler();
    t.setPoolSize(2);
    t.setThreadNamePrefix("taskScheduler - ");
    t.initialize();
    return t;
}

@Bean
public Executor newTaskScheduler() {
    ThreadPoolTaskScheduler t = new ThreadPoolTaskScheduler();
    t.setPoolSize(2);
    t.setThreadNamePrefix("newTaskScheduler - ");
    t.initialize();
    return t;
}

当计划的方法运行时,我可以看到它正在使用 taskScheduler 执行器。如何告诉它使用 newTaskScheduler 执行器运行?

最佳答案

Javadoc of @EnableScheduling在那个领域非常详尽。

您需要实现一个 SchedulingConfigurer 来微调需要使用哪个 Executor

关于java - 将 Spring 的 @Scheduled 注释与特定的执行程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41018041/

相关文章:

java - 如何注入(inject)自动生成的类?

java - SpringBootTest @EnabledWebSocket 忽略

java - 在 spring-boot 中使用 2 个数据库时出现问题。无法 Autowiring 。未找到 EntityManagerFactoryBuilder 的 beans

java - 使用中间变量而不是 array.length 会使你的 for 循环更快吗?

java - 恢复上一个 session 的属性

java.lang.NullPointerException(nutch 2.2.1 和 MySql 作为数据存储)

spring - Debezium 解决方案是什么来显示谁以及何时删除记录日志?

java - Scala Spring Boot Autowiring 不起作用

java - 通用类还是抽象类?

java - 在滑动 Activity 和维护数据之间切换