异步事件侦听器的默认TaskExecutor实现

时间:2019-06-19 23:17:08

标签: spring spring-boot executorservice

我正在使用基于注释的事件侦听器,我也将其标记为TaskExecutor。 (请参见Asynchronous Listeners)。

Spring使用哪个AsyncConfigurer实现来满足这些请求? The documentation读为:

  

默认情况下,在方法上指定@Async时,使用的执行程序是启用异步支持时配置的执行程序,即如果使用XML或AsyncConfigurer实现(如果有),则为“注释驱动”元素。 / p>

问题在于我根本没有完成任何任何配置,因此我不确定SimpleAsyncTaskExecutor的实现是从什么开始的。

我的猜测是,我们正在处理import numpy as np import math import time start_time = time.time() Omg = 0 U = np.zeros(3) V = np.zeros(3) U = [0,0,1] V = [0,1,0] for i in range(0, 10000000): Omg = Omg + np.sign(np.dot(U, V)) + np.cross(U,V) * math.asin(1/(i+1)) print(Omg) print("--- %s seconds ---" % (time.time() - start_time))

1 个答案:

答案 0 :(得分:0)

我在the documentation中找到了EnableAsync的答案:

  

默认情况下,Spring将搜索关联的线程池定义:上下文中的唯一TaskExecutor bean,否则为名为“ taskExecutor”的Executor bean。如果两者都不能解决,则将使用SimpleAsyncTaskExecutor处理异步方法调用。

因此,它是SimpleAsyncTaskExecutor