您的位置:首页 > 其它

ActiveMQ学习笔记(10)-镜像队列

2015-03-19 11:03 113 查看
队列中的消息只能被一个消费者消费,如果我们希望能够监视生产者和消费者之间的消息流,可以使用镜像队列。

镜像队列:broker会把发送到某个队列中的所有消息转发到一个名称类似的主题中,因此监控程序可以监听这个主题。

为了启用镜像队列,需要在activemq.xml中将broker的useMirroredQueues设置为true,然后通过destinationInterceptors设置其它属性。镜像主题的前缀(prefix)默认为“VirtualTopic.Mirror. ”。

下面给出一个具体的配置示例。

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost"
dataDirectory="${activemq.data}" useMirroredQueues="true">
<transportConnectors>
<transportConnector uri="tcp://localhost:61616"/>
</transportConnectors>
<destinationInterceptors>
<mirroredQueue copyMessage = "true" prefix="Mirror.Topic."/>
</destinationInterceptors>
……
</broker>


向队列Queue.Tool发送消息,那么生产者端的代码

String subject = "Queue.Tool";
……
Queue  queue = session.createQueue(subject);


主题订阅者端的代码,注意前缀和队列名的拼接,莫因为“.”出错。

String subject = " Mirror.Topic.Queue.Tool";
……
Topic topic = session.createTopic(subject);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: