断线重连机制是ActiveMQ的高可用性具体体现之一。
具体就是使用failover方式,使得连接断开之后,可以不断的重试连接到一个或多个brokerURL。
例如:failover:(tcp://127.0.0.1:61616) ,这里可以使用多个url。
默认情况下,如果client与broker直接的connection断开,则client会新起一个线程,
不断的从url参数中获取一个url来重试连接。
这个机制对于在容器中使用的connection木有问题。
activemq-core源码的test中也有多个client与broker之间断开重连10次的例子:
但是对于简单实现的一个独立运行client,一般重连一次就会出现进程退出的bug:https://issues.apache.org/jira/browse/AMQ-796
可以测试如下:
1、通过命令行启动一个broker
2、在java中创建一个connection,添