我很难找到一个解决方案,其中我的activemq中的监听器代码应该监听来自多个代理的消息。举个例子:我们有4个代理(1,2,3,4)向消费者提供消息,这些消息托管在4个服务器(A,B,C,D)中。消费者A应该收听来自broker1,2,3&的回复消息。 4.如果它找到了消息,那么consumerA应该选择并处理该消息。如果消费者A因任何原因失败,消费者B应该听取所有4个经纪人的意见。
以下面的方式配置故障转移并不能帮助我实现上述设计。
activemq.broker.url=failover:(tcp://localhost:61716,tcp://localhost:61717,tcp://localhost:61718,tcp://localhost:61719)?randomize=false,timeout=5000,maxReconnectAttempts=3
使用上面的uri配置,我的侦听器代码只侦听端口61716上的代理,如果该消息在另一个代理上可用,则说在端口61717上它无法选择和处理它。任何帮助都将非常感激。
P.S:有没有一个消费者同时听多个经纪人的例子?
答案 0 :(得分:0)
由于我没有找到来自activemq的解决方案,因为一个用户正在收听多个经纪人,我们已经实现了创建多个bean的解决方案,每个bean都指向一个特定的代理URL。这样我们就可以从同一个服务器和同一个侦听器配置文件中指向4个URL。