【发布时间】:2017-05-25 19:26:27
【问题描述】:
我在 XML 配置中定义了以下内容:
<task:scheduler id="myScheduler" pool-size="10" />
<bean id="asyncExecutor" class="org.springframework.core.task.SimpleAsyncTaskExecutor"/>
<bean id="asyncExecutor2" class="org.springframework.core.task.SimpleAsyncTaskExecutor"/>
在 Spring 中使用@Async 注解时,它如何知道使用这些执行器/调度器中的哪一个?我希望它会在启动时引发错误,因为这里有多个并且我没有包含<task:annotation-driven executor="xxx"/> 标签,但它似乎工作正常。有没有一种方法可以记录正在使用的某个地方?
【问题讨论】:
-
是的,您可以在@Async 方法中登录以检测线程名称
-
当我登录
Thread.currentThread().getName()时,它只显示SimpleAsyncTaskExecutor-1,每次调用数字增加一。
标签: spring spring-async