我正在使用一个基于注释的事件侦听器,我也将其标记为@Async
.(请参阅异步侦听器(。
Spring 使用哪种TaskExecutor
实现来满足这些请求?文档内容如下:
默认情况下,在方法上指定@Async时,使用的执行器是在启用异步支持时配置的执行器,即"注释驱动"元素(如果您使用的是 XML 或 AsyncConfigurer 实现(如果有(。
问题是我根本没有为此进行任何配置,所以我不确定我的AsyncConfigurer
实现是什么。
我的猜测是我们正在处理一个SimpleAsyncTaskExecutor
.
我在EnableAsync
的文档中找到了答案:
默认情况下,Spring 将搜索关联的线程池定义:上下文中唯一的 TaskExecutor bean,或者名为"taskExecutor"的 Executor bean。如果两者都不可解析,则将使用 SimpleAsyncTaskExecutor 来处理异步方法调用。
所以,这是SimpleAsyncTaskExecutor
.