Spring Async ThreadPoolTask​​Scheduler未初始化

时间:2017-01-16 08:41:59

标签: java spring asynchronous

我正在尝试在Spring中使用Async注释,但我正在使用

java.lang.IllegalStateException: ThreadPoolTaskScheduler not initialized

错误,当我尝试运行标记为Async的方法时。以下是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}

我在这里缺少什么?

提前致谢。

1 个答案:

答案 0 :(得分:23)

在设置所有属性之后但在返回调度程序之前,必须显式调用scheduler.initialize()

查看完整的工作测试用例here