Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0.0
-
None
-
None
Description
Setting:
cluster configuration: 2 nodes
address settings in broker.xml
<address-setting match="#"> <dead-letter-address>jms.queue.DLQ</dead-letter-address> <expiry-address>jms.queue.ExpiryQueue</expiry-address> <redelivery-delay>0</redelivery-delay> <max-size-bytes>20971520</max-size-bytes> <page-size-bytes>10485760</page-size-bytes> <page-max-cache-size>5</page-max-cache-size> <message-counter-history-day-limit>10 </message-counter-history-day-limit> <address-full-policy>PAGE</address-full-policy> <auto-create-jms-queues>true</auto-create-jms-queues> <auto-delete-jms-queues>false</auto-delete-jms-queues> </address-setting>
Observation:
node 1 has auto-created queue YYYY (checked by jconsole), but failed to created XXXX (see exception below)
node 2 don't have any queue created.
Client configuration:
org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory
ha = true
reconnectAttempts = -1
NettyConnectorFactory.class
Client log:
javax.jms.InvalidDestinationException: AMQ119017: Queue jms.queue.XXXX does not exist at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:410) ~[artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQSessionContext.createConsumer(ActiveMQSessionContext.java:250) ~[artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.internalCreateConsumer(ClientSessionImpl.java:1680) ~[artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.createConsumer(ClientSessionImpl.java:430) ~[artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.client.impl.ClientSessionImpl.createConsumer(ClientSessionImpl.java:394) ~[artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.client.impl.DelegatingSession.createConsumer(DelegatingSession.java:190) ~[artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:746) ~[artemis-jms-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:378) ~[artemis-jms-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.jms.client.ActiveMQSession.createConsumer(ActiveMQSession.java:348) ~[artemis-jms-client-1.0.0.jar:1.0.0]
Server log
17:31:35,131 ERROR [org.apache.activemq.artemis.core.server] AMQ224037: cluster connection Failed to handle message: java.lang.IllegalStateException: Cannot find binding for jms.queue.XXXXf9b0ac0b-527e-11e5-a1f6-51cdfbafaf0c at org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.doConsumerClosed(ClusterConnectionImpl.java:1534) [artemis-server-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.handleNotificationMessage(ClusterConnectionImpl.java:1155) [artemis-server-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.server.cluster.impl.ClusterConnectionImpl$MessageFlowRecordImpl.onMessage(ClusterConnectionImpl.java:1117) [artemis-server-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1089) [artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:47) [artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1224) [artemis-core-client-1.0.0.jar:1.0.0] at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:105) [artemis-core-client-1.0.0.jar:1.0.0] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_60] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_60]