我正在尝试将ActiveMQ 5.x代理嵌入Java桌面应用程序中,以用作将消息转发到其他代理的代理。映射localtopic => targettopic。
说SubA是ProxyBroker的订阅者,SubB是RemoteBroker的订阅者,PubA是ProxyBroker的发布者,PubB是RemoteBroker的发布者。无论SubA / TOPIC中收到什么消息,PubB都会将其发布到RemoteBroker。对于SubB来说,这同样会触发PubA将收到的消息发布到ProxyBroker。这种情况将导致循环的不结束循环,因此该解决方案无效。为了使该解决方案有效,如果我能够确定哪个客户端是邮件的所有者,则可以防止该周期性问题,但不幸的是,我无法做到这一点。
答案 0 :(得分:0)
查看虚拟主题,并在网络连接器中明确包含该主题,并从网络连接器中排除VirtualConsumer队列。这样可以使订阅保持本地状态,但会向所有节点生成消息。
ref:Virtual Topics