使用 artemis-jms-client 从 ActiveMQ Artemis 接收会抛出 InvalidDestinationException
Receiving from ActiveMQ Artemis with artemis-jms-client throws InvalidDestinationException
我的代码中有这个
consumer = session.createConsumer(session.createQueue("myQueue"));
抛出以下异常
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)
我使用了错误版本的 artemis-jms-client
。我的经纪人是 Artemis 2.0.0,我使用 artemis-jms-client
1.5.3.
使用匹配的客户端库版本,接收工作。
这个错误我已经犯过一次了,所以我在这里发帖以防它帮助到别人,或者我第三次。
Artemis 2.0.0 有一个新的寻址模型。如果您需要向后兼容,您必须以旧客户端连接的方式配置接受器。
所以,我建议只更新您的客户端。
我的代码中有这个
consumer = session.createConsumer(session.createQueue("myQueue"));
抛出以下异常
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)
我使用了错误版本的 artemis-jms-client
。我的经纪人是 Artemis 2.0.0,我使用 artemis-jms-client
1.5.3.
使用匹配的客户端库版本,接收工作。
这个错误我已经犯过一次了,所以我在这里发帖以防它帮助到别人,或者我第三次。
Artemis 2.0.0 有一个新的寻址模型。如果您需要向后兼容,您必须以旧客户端连接的方式配置接受器。
所以,我建议只更新您的客户端。