【发布时间】:2014-04-13 11:06:06
【问题描述】:
我在 ActiveMQ 中创建了两个队列:一个是 Master,另一个是 Audit。
我所有的消息都首先进入Master。我希望将Master 中的所有消息自动复制(不移动)到Audit 队列中。
ActiveMQ 或 Camel 中是否有任何配置可以做到这一点?
【问题讨论】:
标签: java jms apache-camel activemq
我在 ActiveMQ 中创建了两个队列:一个是 Master,另一个是 Audit。
我所有的消息都首先进入Master。我希望将Master 中的所有消息自动复制(不移动)到Audit 队列中。
ActiveMQ 或 Camel 中是否有任何配置可以做到这一点?
【问题讨论】:
标签: java jms apache-camel activemq
Apache ActiveMQ 开箱即用。您可以使用它对镜像队列的支持
以下来自链接页面:
默认情况下,镜像队列是禁用的;因为启用它将导致为您使用的每个队列创建一个虚拟主题。 要启用镜像队列,请在 BrokerService 上设置 useMirroredQueues 属性或在 Xml 配置的元素内添加以下内容:
<destinationInterceptors>
<mirroredQueue copyMessage = "true" postfix=".qmirror" prefix=""/>
</destinationInterceptors>
这将为您的代理上的每个队列创建一个名为“*.qmirror”的主题。
【讨论】:
我猜你正在寻找Wire Tap pattern。例如:
<route>
<from uri="jms:master_queue"/>
<wireTap uri="jms:audit_queue"/>
<to uri="to_do_something"/>
</route>
【讨论】: