如何将docker上的spring应用程序连接到docker上的activemq集群

我有一个简单的REST应用程序在Docker容器中的Tomcat8上运行。 我也有3个docker容器,分别在端口6161761618 master slave上运行ActiveMQ 5.11.1代理(使用mysql作为持久化)。

 docker run --name myRESTApp -t -i --rm -p 8080:8080 -p 9090:9090 -v $(pwd)/webapps:/usr/local/tomcat/webapps -v $(pwd)/logs:/usr/local/tomcat/logs --link activemq1:activemq myRESTApp 

在myRESTApp的activeMQConfiguration.xml

 <property name="brokerURL" value="failover:(#{systemEnvironment['ACTIVEMQ_PORT_61616_TCP']})?randomize=false"/> 

3个ActiveMQ代理在他们的activemq.xml有这个:

 <transportConnectors> <transportConnector name="openwire" uri="tcp://0.0.0.0:0" updateClusterClients="true" rebalanceClusterClients="true" updateClusterClientsOnRemove="true" /> </transportConnectors> 

主人最初是在61616运行,我停止了主人,奴隶(港口61617 )成为新的主人。

甚至在61616的主人被停止之前,它就投掷了

 Connect fail to: tcp://172.17.0.84:61616, reason: java.net.ConnectException: Connection refused 

为什么链接后,它仍然无法连接到经纪人?

61616上的主站停止后,将失败:

 Connect fail to: tcp://172.17.0.84:61616, reason: java.net.NoRouteToHostException: No route to host 

它不应该像这里提到的那样,自动更新新主人的客户吗?

任何人都可以请告知什么是连接的经纪人的ActiveMQ集群到我的应用程序的最佳做法? 谢谢