spring - 异步事件侦听器的默认 TaskExecutor 实现
问题描述
我正在使用一个基于注释的事件侦听器,我也将其标记为@Async
. (请参阅异步侦听器)。
Spring 使用哪种TaskExecutor
实现来服务这些请求?文档内容如下:
默认情况下,在方法上指定@Async 时,使用的执行器是启用异步支持时配置的执行器,即如果您使用XML 或您的AsyncConfigurer 实现(如果有),则为“注释驱动”元素。
问题是我根本没有为此做任何配置,所以我不确定我的AsyncConfigurer
实现是从什么开始的。
我的猜测是我们正在处理一个SimpleAsyncTaskExecutor
.
解决方案
我在文档中找到了答案EnableAsync
:
默认情况下,Spring 将搜索关联的线程池定义:要么是上下文中唯一的 TaskExecutor bean,要么是名为“taskExecutor”的 Executor bean。如果两者都无法解析,则将使用 SimpleAsyncTaskExecutor 来处理异步方法调用。
所以,就是SimpleAsyncTaskExecutor
.
推荐阅读
- java - MySql 连接被拒绝 - Java
- php - 使用 Redis 扩展时的 Docker PHP Image 在信号 2 (SIGINT) 上退出
- math - 如何在 Crystal 中计算模幂?
- python - 从另一个 DataFrame 的列中的 JSON URL 生成 Dataframe
- asp.net-core - OnConguring() & AddDbContext()
- python - Fastai 中的图像增强
- transform - 德鲁伊汇总排除一长列
- vuex - nuxt 项目中没有 store/index.js 文件
- sql - SQL Server:按每行分组
- php - WAMP 服务器虚拟主机