Posted on 2012-09-26 16:52
云云 阅读(6955)
评论(0) 编辑 收藏
这两天公司MQ出现一个怪现象,有三台MQ server 其中一台死掉后
consumer不会到其它两台消费,这个问题后来发现是配置的问题
在brokerURL只配置了一个brokerURL,所以容器启动时只会建立一个连接
当这个连接挂掉后 就只能等待这个连接重启后才能执行。
jms.brokerUrl=failover\:(tcp\://ip1\:61616?wireFormat.maxInactivityDurationInitalDelay\=30000,tcp\://ip2\:61616?
wireFormat.maxInactivityDurationInitalDelay\=30000)?
jms.useAsyncSend\=true&randomize\=true&initialReconnectDelay\=50&maxReconnectAttempts\=1&timeout\=1000&backup=true
属性 backup的作用 官方解释:
如果backup=true,并且the URIs to use for reconnect from the list provided的数量大于一个的情况下,broker将会维护着两个连接,其中一个作为备份,在主连接出现故障时实现快速切换
这里的故障不一定是死机 也可以是消费过慢 消息就发送到另一台server上