我有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>
如何制作可靠的双工桥?
答案 0 :(得分:0)
无论好坏,这都是默认行为。这个想法是为了避免当集群中有多个经纪人的消费者时,消息会全部反弹。邮件不会被重播给他们已经访问过的经纪人,或者已经满足他们的“生存时间”(或最大数量的经纪人跳跃)。
您可以在页面底部详细解释您可以执行的操作:(Netorks of Brokers: Stuck Messages
我并不完全相信所有的错误都是通过重播来解决的,所以如果你走这条路,请注意事情可能仍然存在。