activeMQ 自动重连机制

在使用activeMQ的时候(没有集成spring),发现当broker挂掉或者重启的时候,consumer就会断开,不会在次尝试去接受消息,

(使用spring集成activeMQ)会解决这个问题.

如果说你不想使用spring,那么接下来告诉你该怎么办.

在apache官网上有介绍自动重连机制.

	connectionFactory = new ActiveMQConnectionFactory(
		ActiveMQConnection.DEFAULT_USER,
		ActiveMQConnection.DEFAULT_USER,
		"failover:(tcp://host:61616)?initialReconnectDelay=1000&maxReconnectDelay=30000");

加入failover参数.(

failover:(tcp:url...)url 可以为多个 
)

当时我在环境中测试的时候,会出现一个情况,就是当broker挂掉的时候,consumer会断开程序
根据
http://blog.youkuaiyun.com/kimmking/article/details/8447517
这篇文章所讲是需要修改activeMQ-core.5.x.jar 中的
FailoverTransport.java

reconnectTaskFactory = new TaskRunnerFactory();
        System.out.println("init-setDaemon-false");
        reconnectTaskFactory.setDaemon(false);/**设置为false*/
        reconnectTaskFactory.init();


########
修改方法:
把source.jar中的FailoverTransport.java 拉到项目的src下(保证包名一致,引入相关依赖)
修改-编译-启动
这时候程序就会去加载src下面FailoverTransport.java 
而不会去jar包中搜索该类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值