如何使用异步注释使用自定义执行程序

时间:2014-03-13 01:47:12

标签: java spring spring-annotations threadpoolexecutor

我正在使用ThreadPoolExecutor作为我的自定义执行程序@ASync注释。

在Google中,我发现以下任务需要在xml中配置。

但我不确定myExecutor是如何映射到我的自定义执行器的。

<task:annotation-driven executor="myExecutor" />

甚至发现在bean属性中,没有给出它的路径。

那怎么称呼?

2 个答案:

答案 0 :(得分:0)

我不确定我是否理解您的问题但是您的配置代码段是正确的,前提是您已将Executor bean定义为myExecutor作为ID。

@EnableAsync javadoc对其工作原理有很好的了解。例如,创建一个包含5个核心线程和10个最大线程的ThreadPoolTaskExecutor

<task:annotation-driven executor="myExecutor"/>
<task:executor id="myExecutor" pool-size="5-10"/>

答案 1 :(得分:0)

四个选项:

  1. 声明类型TaskExecutor
  2. 的单个bean
  3. 声明名为AsyncExecutionAspectSupport.DEFAULT_TASK_EXECUTOR_BEAN_NAME"taskExecutor"
  4. 的单个bean
  5. 实施AsyncConfigurer#getAsyncExecutor
  6. 对于单个类/方法,请在@Async#value中提供执行者bean的限定符。