【问题标题】:Routing an ActiveMq topic to an external broker将 ActiveMq 主题路由到外部代理
【发布时间】:2011-02-02 20:38:13
【问题描述】:

我有一个 ActiveMq 主题,我希望对其进行转换并与外部代理共享。目前我有以下执行转换:

<camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
    <route>     
        <from uri="activemq:topic:OriginalTopic"/>
        <to uri="xslt:file:///xslt/transformation.xsl"/>
        <to uri="activemq:topic:NewTopic"/>
    </route>
</camelContext>

但是,这只是将消息发送到当前代理网络。我只想将 NewTopic 消息传递给外部代理。我不想使用 加入外部代理,因为只有这个主题应该发送给外部代理而不是其他代理。

有没有一种简单的方法可以将消息路由到外部代理?

非常感谢。

更新

上述方法还有一个缺点是原主题的订阅者不再收到消息,有没有办法在不丢失原主题的情况下路由到另一个目的地?

【问题讨论】:

    标签: activemq apache-camel


    【解决方案1】:

    只需定义一个 id 为 activemq2 的 spring bean,并为第二个外部代理配置其 brokerURL。

    那么最后一个到 url 将是:activemq2:topic:NewTopic

    【讨论】:

    • 感谢克劳斯,这似乎有效。唯一的问题是,现在我的所有消息都被发送到远程 NewTopic 并且 OriginalTopic 的本地订阅者停止接收消息。知道如何解决这个问题吗?
    【解决方案2】:

    仅供参考,您可以过滤将在代理网络中转发的目的地。以此配置为例:

    http://activemq.apache.org/networks-of-brokers.html#NetworksofBrokers-ExampleConfigurationusingNetworkConnectorproperties

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2013-06-28
      相关资源
      最近更新 更多