欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

ActiveMQ入门系列三:发布/订阅模式,activemq订阅

来源: javaer 分享于  点击 26330 次 点评:203

ActiveMQ入门系列三:发布/订阅模式,activemq订阅


在上一篇《ActiveMQ入门系列二:入门代码实例(点对点模式)》中提到了ActiveMQ中的两种模式:点对点模式(PTP)和发布/订阅模式(Pub & Sub),详细介绍了点对点模式并用代码实例进行说明,今天就介绍下发布/订阅模式。

一、理论基础

发布/订阅模式的工作示意图:

  • 消息生产者将消息(发布)到topic中,可以同时有多个消息消费者(订阅)消费该消息。
  • 和点对点方式不同,发布到topic的消息会被所有订阅者消费。
  • 当生产者发布消息,不管是否有消费者,都不会保存消息。
  • 一定要先有消息的消费者,后有消息的生产者。

二、代码实现

 

代码写完了,接下来进行测试,由于subscribe可以有多个,而且每个都可以消费到相同的消息,因此我们消费者启动两个。

先执行生产者

在控制台页面的Topics下出现了我定义的topic并且有1条消息发送成功且未消费

 

然后执行两个消费者,两个消费者都没有消费到任何消息

并且,控制台页面只是多了2个消费者,已经消费的消息还是0

 

 为什么呢?还记得前面的理论基础说的吗?就是这个原因

继续,我们在两个消费者启动好的前提下,再执行生产者, 这个时候会发现两个消费者都消费了该消息

再看下控制台页面

已消费消息这里是2,这个2并不是说之前发的两个消息都消费了,而是说第二个消息消费了2次, 1 * 2 = 2

不信的话,可以再执行一遍生产者,这个时候就是4,而不是3

累计发送过3条消息,消息消费了4次,这里的4就是后面两条分别被消费了2次, 2 * 2 = 4

 

三、两种模式比较

 

好,到这里,发布/订阅模式就介绍完了。

如果有收获,就点个赞呗

相关文章

    暂无相关文章
相关栏目:

用户点评