将消息从一个队列复制到另一个队列

时间:2014-03-10 11:13:10

标签: java jms apache-camel activemq

我在ActiveMQ中创建了两个队列,一个是“Master”,另一个是“Audit”。

我的所有信息都先进入“大师”。我希望将“Master”中的所有消息自动复制(不移动)到“Audit”队列。

ActiveMQ或Camel中是否有任何配置可以执行此操作?

2 个答案:

答案 0 :(得分:2)

Apache ActiveMQ开箱即用。您可以使用它对镜像队列的支持

以下内容来自链接页面:

启用镜像队列

默认情况下,镜像队列被禁用;启用它将导致为您使用的每个队列创建虚拟主题。 要启用镜像队列,请在BrokerService上设置useMirroredQueues属性,或在Xml配置中的元素内添加以下内容:

<destinationInterceptors>
    <mirroredQueue copyMessage = "true" postfix=".qmirror" prefix=""/>
</destinationInterceptors>

这将为您的Broker上的每个队列创建一个名为“* .qmirror”的主题。

答案 1 :(得分:1)

我猜您正在寻找Wire Tap pattern。例如:

<route>
    <from uri="jms:master_queue"/>
    <wireTap uri="jms:audit_queue"/>
    <to uri="to_do_something"/>
</route>