2009-11-17 67 views
1

我使用彈簧2.5.6和Spring的集成1.0.3和MQ客戶端6.0.2.2使用DefaultMessageListenerContainer不與WebSphere MQ工作

我不得不消息選擇添加到我的消息驅動通道適配器,但現在我收到以下錯誤:

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"/> 
+0

該隊列實際上是否存在以開始? ActiveMQ按需創建隊列,但IBM MQ不。 – skaffman 2009-11-17 12:32:22

+0

嗨Skaffman,隊列確實存在。如果我使用下面的配置,它可以工作(沒有消息選擇器)。 「jms:message-driven-channel-adapter id =」jmsIn「destination =」tradeQueue「channel =」inboundMessage「transaction-manager =」txManager「/> – 2009-11-17 13:22:22

+0

」works「是指你可以發送和接收消息? – skaffman 2009-11-17 13:38:24

回答

1

啊(除了我沒有消息選擇!)!

在那裏我有

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

我應該有

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

Skaffman是正確的,隊列不實際存在。

P