1

我正在使用 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"/>
4

1 回答 1

1

啊!

我有的地方

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

我应该有

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

斯卡夫曼是对的,队列实际上并不存在。

于 2009-11-17T14:52:47.843 回答