我正在尝试在 Spring 中使用 Async 注释,但我得到了
java.lang.IllegalStateException: ThreadPoolTaskScheduler not initialized
错误,当我尝试运行标记为异步的方法时。以下是 Async 的配置:
@EnableScheduling
@EnableAsync
@Configuration
public class SchedulingConfiguration implements AsyncConfigurer{
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setPoolSize(10);
return scheduler;
}
}
以下是异步方法的声明。
@Async
@Transactional(value = "baseTransactionManager", isolation = Isolation.READ_COMMITTED)
public void foo(Bar bar) {// some code here}
我在这里错过了什么?
提前致谢。
最佳答案
您必须在设置所有属性后但在返回调度程序之前显式调用 scheduler.initialize()
。
查看完整的工作测试用例 here .
关于java - Spring Async ThreadPoolTaskScheduler 未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41672364/