2017-03-22 1 views
1

Je cela dans mon codeRéception de ActiveMQ Artemis ARTEMIS-jms-client lancers francs InvalidDestinationException

consumer = session.createConsumer(session.createQueue("myQueue")); 

Il jette l'exception suivante

javax.jms.InvalidDestinationException: AMQ119019: Queue already exists test_simple_transaction_receiver 
     at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:406) 
     at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:304) 
     at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.createQueue(ActiveMQSessionContext.java:546) 
     at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.internalCreateQueue(ClientSessionImpl.java:1622) 
     at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.createQueue(ClientSessionImpl.java:249) 
     at org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:628) 
     at org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:331) 
     at consumeMessage(ReceiverClient.java:143) 

Répondre

1

Artemis 2.0.0 a un nouveau modèle d'adressage. Si vous avez besoin d'une rétrocompatibilité, vous devez configurer les accepteurs de telle sorte que les anciens clients se connectent.

Donc, je vous recommande de mettre à jour votre client.

1

J'ai utilisé une mauvaise version de artemis-jms-client. Mon courtier est Artemis 2.0.0 et j'ai utilisé artemis-jms-client 1.5.3.

Avec une version de bibliothèque client correspondante, le récepteur fonctionne.

J'ai fait cette erreur une fois déjà, donc je poste à ce sujet ici au cas où cela aiderait quelqu'un d'autre, ou moi la troisième fois encore.