DefaultMessageListenerContainer не работает с Websphere MQ - PullRequest
1 голос
/ 17 ноября 2009

Я использую Spring 2.5.6 и Spring-Integration 1.0.3 и MQ клиент 6.0.2.2

Мне пришлось добавить селектор сообщений к моему адаптеру канала, управляемого сообщениями, но теперь я получаю следующую ошибку:

MQJMS2008: failed to open MQ queue ; nested exception is com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2085

Это работает, когда я использовал ActiveMQ в качестве тестового жгута.

Моя конфигурация:

<jms:message-driven-channel-adapter 
    id="jmsIn" 
    channel="inboundMessage" 
    container="myContainer"/>

<bean id="myContainer" 
    class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="destinationName" value="myQueue"/>
    <property name="messageSelector" ref="messageSelector"/>
    <property name="transactionManager" ref="txManager"/>
</bean>

Если я вернусь к своей предыдущей конфигурации, все будет хорошо (за исключением того, что у меня нет селектора сообщений!)

<jms:message-driven-channel-adapter 
    id="jmsIn" 
    destination="tradeQueue" 
    channel="inboundMessage" 
    transaction-manager="txManager"/>

1 Ответ

1 голос
/ 17 ноября 2009

Ах!

Где у меня было

<property name="destinationName" value="myQueue"/>

Я должен был иметь

<property name="destinationName" ref="myQueue"/>

Скаффман был прав, очередь на самом деле не существовала.

P

...