gpt4 book ai didi

代理的 ActiveMQ 网络不转发消息

转载 作者:行者123 更新时间:2023-12-04 14:46:53 25 4
gpt4 key购买 nike

我有两个配置为存储转发网络的 ActiveMQ 代理(A 和 B)。当代理 B 上有消费者连接并且生产者将消息发送到 A 时,它们完美地将消息从 A 转发到 B。问题是当消费者被杀死并重新连接到 A 时,B 上的排队消息(它们是从A) 不会转发回消费者连接的 A。即使我向 B 发送新消息,所有消息也都停留在 B 上,直到我重新启动代理。我试图在代理网络连接器上设置 networkTTL="4"和 duplex="true",但它不起作用。

最佳答案

迟到的答案,但希望这会在 future 对其他人有所帮助。

消息卡在 B 中,因为默认情况下 AMQ 不允许将消息发送回它们之前已传递到的代理。在正常情况下,这可以防止消息在类似网状网络拓扑的情况下循环而不被传递,但在故障转移情况下,它会导致消息卡在一个代理上并且无法到达所有消费者所在的代理。

如果当前代理因为没有消费者连接到它而成为死胡同,要允许消息返回到代理,您应该使用 replayWhenNoConsumers=true 允许将卡在 B 上的消息转发回 A。

http://activemq.apache.org/networks-of-brokers.html 的“Stuck Messages (version 5.6)”部分描述了该配置选项、您可能希望与其结合使用的一些设置以及使用时的一些注意事项。 , http://tmielke.blogspot.de/2012/03/i-have-messages-on-queue-but-they-dont.html , 和 https://issues.apache.org/jira/browse/AMQ-4465 .确保您可以忍受这些更改的副作用(例如,跨代理到代理网络连接的其他消息的重复消息传递的可能性)。

关于代理的 ActiveMQ 网络不转发消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15531244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com