Как использовать пользовательский исполнитель с помощью асинхронной аннотации

1

Я использую ThreadPoolExecutor как мой пользовательский исполнитель с аннотацией @ASync.

В google я обнаружил, что нижеприведенная задача должна быть настроена в xml.

Но я не уверен, как myExecutor сопоставляется с моим пользовательским исполнителем.

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

Даже обнаружил, что в свойствах бобов его путь не задан.

Как его тогда называют?

Теги:
spring
threadpoolexecutor
spring-annotations

2 ответа

0

Четыре варианта:

  1. Объявить один компонент типа TaskExecutor
  2. Объявите один компонент с именем AsyncExecutionAspectSupport.DEFAULT_TASK_EXECUTOR_BEAN_NAME ("taskExecutor")
  3. Внедрение AsyncConfigurer#getAsyncExecutor
  4. Для отдельных классов/методов укажите квалификатор компонента-исполнителя в @Async#value.
0

Я не уверен, что понимаю ваш вопрос, но ваш фрагмент конфигурации правилен при условии, что вы определили компонент- Executor с myExecutor как id.

В javadoc @EnableAsync есть хорошее освещение того, как это работает. Например, для создания ThreadPoolTaskExecutor с 5 основными потоками и 10 максимальными потоками:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню