ActiveMQ镜像队列

在之前我们介绍了ActiveMQ的Queue模式和Topic模式,其中Queue模式下,每一个消息只能被一个消费者消费,然而有时我们希望能够监视生产者和消费者之间的消息流。


这里我们可以通过ActiveMQ之组合Destination的方式也是可以的,不过这种方式就要求所有发送Queue模式消息,就必须的都要加上一个额外的Destination,这样配置就可能会很麻烦。所以ActiveMQ这里还为我们提供了镜像队列。


在开启镜像队列之后,Broker会把发送到某一个队列上的所有消息转发到一个名称类似的topic,因此监控程序只需要订阅这个topic即可。


这里启用MirroredQueue,首先要将BrokerService的useMirroredQueues属性设置为true,如下:
在这里插入图片描述


然后我们就进行测试,就发送一个普通的Queue消息,然后进行查看其控制台的Topic菜单,如下:
在这里插入图片描述


从上述发现其镜像队列缺省是VritualTopic.Mirror. ,如果有需要的话,我们可以通过<destinationInterceptors>设置其属性,如镜像队列的前缀、后缀等,如下:
在这里插入图片描述
在这里插入图片描述



上述方法我们就利用了镜像队列将Queue模式的消息保留下来,存在到对应的Topic镜像队列中,然后我们如果向对其进行处理就可以对其Topic进行持久化订阅。


其实镜像队列,包括ActiveMQ死信队列都没有什么特别,我们都是可以将其看成和其它队列一致,对其进行相关的处理的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章