# ActiveMq_virtual_topic **Repository Path**: renchunlin66/ActiveMq_virtual_topic ## Basic Information - **Project Name**: ActiveMq_virtual_topic - **Description**: ActiveMQ点对点模式、发布订阅模式、虚拟主题模式实践 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-02-22 - **Last Updated**: 2023-08-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README JMS规范定义了Java中访问消息中间件的接口,但没有给予实现,具体实现交给消息中间件,比如: ActiveMQ就是一个JMS Provider。一般情况下ActiveMQ支持两种消息传送模型:点对点消息通信模型(queue)和发布订阅模型(topic)。点对点模式下,Queue中的消息只被消费一次,其他的消费者就不能再消费消息了。发布订阅模式下所有的消费者都可以订阅到消息。 (1)如果单个应用单个节点部署的话这两种模式都可以使用。 如果单个应用多节点部署,那我们可以采用queue模式。因为topic模式下每个节点都会订阅消息,造成重复消费问题。 (2)如果多个应用多节点部署,queue模式会造成某些应用无法消费到消息。Topic模式下又会造成每个应用重复消费的问题。 (3)我们希望每个应用只要有一个节点能够消费到消息。就好像在多应用多节点部署的情况下,对于每一个应用来说需要发布订阅模式。而对于每个应用的每个节点来说,又希望具有类似点对点的消费模式,每个应用的每个节点只需要有一个消费到消息即可。这就引入了ActiveMQ的高级特性虚拟主题特性(VirtualTopic)。 本次研究基于springMVC+springJMS+ActiveMQ进行。 请参考我的博客详细说明: https://blog.csdn.net/renchunlin66/article/details/104446547