ActiveMQ:有时会停止从一个代理向另一个代理发送消息

时间:2014-10-24 07:43:40

标签: activemq

我有2个具有双工桥配置的代理。 有时存在以下情况:经纪人之间存在连接,从经纪人B到经纪人A的消息正常转发。但是从经纪人A到经纪人B没有转发。重新启动代理B时,将发送所有消息。在日志中没有错误。 ActiveMQ版本5.10。

经纪人A的配置:

<transportConnectors>
        <transportConnector
                name="clientConnection"
                uri="ssl://0.0.0.0:61617?needClientAuth=true%26trace=true"/>
</transportConnectors>

经纪人B的配置:

 <networkConnectors>
             <networkConnector uri="static:(failover:(ssl://${host}:${port}))"
                               name="B"
                               userName="${jms.login}"
                               password="${jms.password}"
                               duplex="true"
                               conduitSubscriptions="true">
                 <excludedDestinations>
                     <queue physicalName="test.Orders"/>
                     <queue physicalName="test.Results"/>
                 </excludedDestinations>
             </networkConnector>           
 </networkConnectors>

如何制作可靠的双工桥?

1 个答案:

答案 0 :(得分:0)

无论好坏,这都是默认行为。这个想法是为了避免当集群中有多个经纪人的消费者时,消息会全部反弹。邮件不会被重播给他们已经访问过的经纪人,或者已经满足他们的“生存时间”(或最大数量的经纪人跳跃)。

您可以在页面底部详细解释您可以执行的操作:(Netorks of Brokers: Stuck Messages

我并不完全相信所有的错误都是通过重播来解决的,所以如果你走这条路,请注意事情可能仍然存在。