【问题标题】:How to listen to multiple brokers in activemq如何在activemq中监听多个broker
【发布时间】:2017-09-16 06:46:21
【问题描述】:

我很难找到一个解决方案,让我的 activemq 中的侦听器代码应该侦听来自多个代理的消息。例如:我们有 4 个代理(1,2,3,4),它们向托管在 4 个服务器(A、B、C、D)中的消费者提供消息。消费者 A 应该监听来自 broker1、2、3 和 4 的响应消息。如果它找到消息,那么消费者 A 应该选择并处理该消息。如果消费者 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:有没有一个消费者同时监听多个代理的例子?

【问题讨论】:

    标签: activemq spring-jms spring-java-config


    【解决方案1】:

    由于我没有从 activemq 中为一个消费者监听多个代理找到解决方案,因此我们实施了一种创建多个 bean 的解决方案,每个 bean 都指向一个特定的代理 url。这样我们就指向了来自同一个服务器和同一个监听器配置文件的 4 个 url。

    【讨论】:

      猜你喜欢
      • 2018-07-19
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 2022-07-30
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      相关资源
      最近更新 更多