Я использую Spring 3.0 - DefaultMessageListenerContainer для подключения к Websphere 6 MQ.На MQ уже есть сообщения.Когда я запускаю свой тест, запускается слушатель, реализующий SessionAwareMessageListener.Но onMessage () не вызывается.Таким образом, проблема в том, что сообщения, уже находящиеся в очереди, не читаются.
Согласно документам, autoStartup имеет значение true по умолчанию (и я не изменял это).Согласно моему пониманию, при запуске слушатель должен прочитать Очередь для любых существующих сообщений, и должен быть вызван onMessage ().Пожалуйста, дайте мне знать, если это понимание неверно.
Вот фрагмент из файла конфигурации:
<bean id="jmsContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsQueueConnectionFactory" />
<property name="destinationName">
<value>${queue}</value>
</property>
<property name="messageListener" ref="exampleMessageListener" />
<property name="concurrentConsumers" value="1" />
<property name="maxConcurrentConsumers" value="1" />
<property name="idleTaskExecutionLimit" value="4" />
<property name="maxMessagesPerTask" value="4" />
<property name="receiveTimeout" value="5000" />
<property name="recoveryInterval" value="5000" />
<property name="sessionTransacted" value="true" />
<property name="transactionManager" ref="jmsTransActionManager" />
</bean>
Примечание: ошибки / исключения нет, тестовое приложение запускается нормально.
Любые указатели для решения этой проблемы будут очень полезны.
Спасибо,
RJ