【发布时间】:2010-12-17 10:16:02
【问题描述】:
我正在使用 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"/>
【问题讨论】:
-
队列真的存在吗? ActiveMQ 按需创建队列,IBM MQ 不会。
-
嗨 Skaffman,队列确实存在。如果我使用以下配置,它可以工作(没有消息选择器)。
-
“works”是指可以发送和接收消息吗?
标签: java spring jms ibm-mq spring-integration