I'm struggling to create set-up as mentioned in the subject on ActiveMQ Artemis 2.5.0. My key configuration looks as follows (for first node of three):
<acceptors> <acceptor name="node-1-universal-plain">tcp://0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor> </acceptors> <connectors> <connector name="node-1-connector">tcp://localhost:61616</connector> <connector name="node-2-connector">tcp://localhost:62616</connector> <connector name="node-3-connector">tcp://localhost:63616</connector> </connectors> <cluster-connections> <cluster-connection name="showcase-cluster"> <connector-ref>node-1-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> <message-load-balancing>ON_DEMAND</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>node-2-connector</connector-ref> <connector-ref>node-3-connector</connector-ref> </static-connectors> </cluster-connection> </cluster-connections> <ha-policy> <replication> <colocated> <backup-port-offset>7</backup-port-offset> <request-backup>true</request-backup> <max-backups>2</max-backups> <backup-request-retries>-1</backup-request-retries> <backup-request-retry-interval>2000</backup-request-retry-interval> <master /> <slave /> </colocated> </replication> </ha-policy> Rest of nodes has similar configuration - adjusted cluster connections and acceptors. I'm deploying it also on three separate hosts (each different from localhost). What is important I have no discovery groups (no possibility to use UDP). So my test is connecting to a cluster using ActiveMQConnectionFactory and URI "(tcp://node-1:61616,tcp://node-2:62616)?ha=true&reconnectAttempts=-1" (leaving third to be obtained directly from a cluster) and one thread is producing and second consuming messages (separate connection used). Test is working fine (unsurprisingly) even when producer is connected to different nodes of the cluster. But when one node is stopped then producer / consumer connected to that node is affected - no send / receive is performed but some messages on the client side is buffered and flushed when node is again available. I would expect to automagically switch connection to another node but it is not happening here. I have tried that previously without HA but with the same result. Could you help me determine what I'm doing wrong? Kind regards Marcin Stefaniuk CREDIT SUISSE (POLAND) SP. Z O.O Solution Architect | Messaging Engineering Warsaw, MITM 47 Atrium 2 | 00-849 Warsaw | Poland marcin.stefan...@credit-suisse.com<mailto:marcin.stefan...@credit-suisse.com> | www.credit-suisse.com<http://www.credit-suisse.com/> =============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ===============================================================================