【问题标题】:How to get local ActiveMQ broker to "mirror" a queue on a remote ActiveMQ broker?如何让本地 ActiveMQ 代理“镜像”远程 ActiveMQ 代理上的队列?
【发布时间】:2011-01-11 17:08:15
【问题描述】:

我有一个本地 ActiveMQ 代理,它的 Internet 连接不可靠,还有一个远程 ActiveMQ 代理位于可靠的数据中心。我已经整理了一个“存储和转发”设置,以便在 Internet 连接可用时将传出消息发送到远程代理。仅此一项就很有效,但是当消息出站时。

但是,现在我必须反其道而行之。这是场景:

  1. 远程 ActiveMQ 代理中出现一条新消息。消息被放入特定队列。
  2. 几分钟后,本地 ActiveMQ 代理可以使用 Internet 连接。
  3. local 代理应该能够从 remote 代理中提取消息,并将其放入自己的本地队列中。
  4. 本地消费者随后将能够看到该消息。

所以本质上,我需要本地代理成为远程队列的订阅消费者。我查看了 ActiveMQ 文档,但在 .xml 配置文件中找不到任何关于如何执行此操作的信息。

这是我应该寻找的吗?见:"ActiveMQ: JMS to JMS Bridge"

任何建议和提示将不胜感激。

【问题讨论】:

    标签: java jms activemq


    【解决方案1】:

    借助 activemq 代理网络,您可以轻松地进行存储和转发。 (http://activemq.apache.org/networks-of-brokers.html)

    如果你想从本地到远程,默认工作,如果你想远程与本地对话,你应该:

    A) 以与从本地到远程相同的方式建立从远程到本地代理的连接(使用故障转移传输,以便代理在连接丢失和恢复后重新连接。我们一直这样做并且它有效很棒)

    B) 建立从本地到远程双工的连接(查看上面链接中的双工 uri 参数)。

    如果为 true,则 duplex false,网络连接将用于生成和使用消息。当集线器位于防火墙后等时,这对于集线器和辐射方案很有用。

    例子:

     <networkConnector name="REMOTE" uri="static://(tcp://IP_OR_REMOTE_HOST:61616)" userName="system" password="manager" duplex="true"/>
    

    【讨论】:

      【解决方案2】:

      我使用 JMS 到 JMS 桥使其工作。请参阅下面的相关配置。

      我看到了另一个潜在的问题。在远程 ActiveMQ 代理上,“排队消息”似乎只是在那里徘徊。我希望它们被自动删除。

      ... snip snip
          <jmsBridgeConnectors>
              <jmsTopicConnector
                outboundTopicConnectionFactory="#remoteFactory">
                <inboundTopicBridges>
                  <inboundTopicBridge inboundTopicName="jms/TestTopic1" localTopicName="jms/TestTopicResult" />
                </inboundTopicBridges>
              </jmsTopicConnector>
          </jmsBridgeConnectors>
      
      </broker>
      <bean id="remoteFactory"
          class="org.apache.activemq.ActiveMQConnectionFactory">
          <property name="brokerURL" value="tcp://x.x.x.x:61616" />
      </bean>
      ... snip snip
      

      【讨论】:

      • 再次对自己发表评论:ActiveMQ 在远程代理上的控制面板显示:4 条消息已入队。 8 条消息出队。我想这似乎还可以。我担心内存会被消息填满,但似乎它实际上正在使它们出队。
      猜你喜欢
      • 1970-01-01
      • 2011-04-16
      • 2012-10-28
      • 2018-12-14
      • 2015-02-12
      • 2013-01-01
      • 2021-03-17
      • 2013-02-12
      • 1970-01-01
      相关资源
      最近更新 更多