0

我有一个 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消息传递给外部代理。我不想使用<networkConnector .. >加入外部代理,因为只有这个主题应该发送给外部代理而不是其他代理。

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

非常感谢。

更新

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

4

2 回答 2

2

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

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

于 2010-03-31T10:36:01.547 回答
0

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

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

于 2010-03-31T10:40:03.687 回答