java - Spring Async ThreadPoolTask​​Scheduler 未初始化

标签 java spring asynchronous

我正在尝试在 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 ThreadPoolTask​​Scheduler 未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41672364/

相关文章:

java - Excel 中的图形和图表

java - 设计一个在数组中存储可比对象的通用类

spring - 如果我在spring boot应用程序中未指定任何版本,gradle将下载哪个版本?

java - 使用 Spring WebserviceTemplate 发送安全请求

c++ - 更多 Poll() ?'s

asynchronous - 两个协程同时调用一个函数两次

ios - 何时在应用程序 :performFetchWithCompletionHandler: when Background Fetch is async? 中调用 completionHandler

java - Android 外部库项目上的 NoClassDefFoundError

mysql - Spring Data JPA - 对 crud 存储库的 native 查询与连接一起使用?

java - 如何在 DefaultMutableTreeNode 上获取鼠标监听器?