#java #spring #concurrency
#java #spring #параллелизм
Вопрос:
Ниже приведена моя конфигурация spring.
<bean id="taskThreadExecutor" class="org.springframework.scheduling.concurrent.ConcurrentTaskExecutor">
<property name="concurrentExecutor" ref="threadPoolExecutor" />
</bean>
<bean id="threadPoolExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="100" />
<property name="maxPoolSize" value="200" />
<property name="queueCapacity" value="300" />
</bean>
<bean id="concurrentTaskExecutor" class="org.springframework.scheduling.concurrent.ConcurrentTaskExecutor" scope="prototype">
<qualifier value="rmsTaskExecutor"></qualifier>
<property name="concurrentExecutor">
<bean class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="400" />
<property name="maxPoolSize" value="600" />
<property name="queueCapacity" value="3000" />
</bean>
</property>
</bean>
В моем классе я выполняю подключение следующим образом
@Autowired
@qualifier("rmsTaskExecutor")
private ConcurrentTaskExecutor concurrentTaskExecutor;
Во время выполнения., я получаю следующее исключение., говорящее об отсутствии уникального компонента типа.
вложенным исключением является org.springframework.beans.factory.Исключение NoSuchBeanDefinitionException: нет уникального компонента типа [org.springframework.scheduling.concurrent.Определен ConcurrentTaskExecutor]: ожидаемый единственный соответствующий компонент, но найдено 2: [taskThreadExecutor, ConcurrentTaskExecutor]
Не знаю, где и что я пропустил., я использую версию spring 3.0.x
Комментарии:
1. Пожалуйста, добавьте вопрос в свой вопрос, иначе это плохой вопрос.
2. Исключение сообщает вам, что именно не так.
3. Я исправил формат., Да, вы правы, у меня есть два типа «ConcurrentTaskExecutor», я также попробовал byType, byName, квалификатор, @resource. Тем не менее, я получаю такое же исключение.
Ответ №1:
Нормально, у вас есть 2 ConcurrentTaskExecutor (taskThreadExecutor и ConcurrentTaskExecutor), поэтому попробуйте использовать @Resource (..)