2017-09-15 56 views
1

我在寻找解决方案时遇到困难,我的侦听程序代码在activemq中应侦听来自多个经纪人的消息。举一个例子:我们有4个代理(1,2,3,4),它向4个服务器(A,B,C,D)托管的消费者提供消息。 consumerA应该监听来自broker的响应消息1,2,3,4.如果它发现该消息,则consumerA应该选择并处理该消息。如果由于某种原因consumerA出现故障,consumerB应该监听所有4个经纪人。如何聆听activemq中的多个经纪人

以下面的方式配置故障切换传输并不能帮助我实现上述设计。

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

因为我找不到一个消费者监听多个代理的activemq解决方案,我们实现了创建多个bean的解决方案,每个bean指向一个特定的代理url。这样我们就可以指向同一个服务器的4个URL和来自同一个监听器配置文件。