2009-11-17 5 views
1

J'utilise le printemps et 2.5.6 printemps-intégration 1.0.3 et MQ client 6.0.2.2DefaultMessageListenerContainer ne fonctionne pas avec Websphere MQ

J'ai dû ajouter un sélecteur de message à mon message-driven-canal adaptateur , mais maintenant je reçois l'erreur suivante:

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

Il fonctionne quand je ActiveMQ comme un harnais de test.

Ma configuration:

<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> 

Si je retourne à ma configuration précédente, il est tout bon

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

La file d'attente existe-t-elle réellement? ActiveMQ crée des files d'attente à la demande, ce qui n'est pas le cas d'IBM MQ. – skaffman

+0

Salut Skaffman, la file d'attente existe. Si j'utilise la configuration suivante, cela fonctionne (sans le sélecteur de message).

+0

par "works" voulez-vous dire que vous pouvez envoyer et recevoir des messages ? – skaffman

Répondre

1

Ah (sauf que je n'ai pas un sélecteur de message!)!

où j'avais

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

j'aurais dû

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

Skaffman avait raison, la file d'attente n'existait réellement.

P

Questions connexes