我在ActiveMQ中创建了两个队列:一个是Master
,另一个是Audit
。
我所有的消息首先进入Master
。我希望Master
中的所有消息都自动复制(而不是移动)到Audit
队列。
ActiveMQ或Camel中是否有任何配置可以做到这一点?
Apache ActiveMQ有这个现成的功能。您可以使用它对镜像队列的支持
- https://activemq.apache.org/mirrored-queues.html
以下内容来自链接页面:
启用镜像队列
默认情况下镜像队列是禁用的;启用它将导致为您使用的每个队列创建一个虚拟主题。要启用镜像队列,请在BrokerService上设置useMirroredQueues属性,或者在Xml Configuration的元素中添加以下内容:
<destinationInterceptors>
<mirroredQueue copyMessage = "true" postfix=".qmirror" prefix=""/>
</destinationInterceptors>
这将创建一个名为"* "的主题。
我猜你正在寻找窃听模式。例如:
<route>
<from uri="jms:master_queue"/>
<wireTap uri="jms:audit_queue"/>
<to uri="to_do_something"/>
</route>