博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot JMS(ActiveMQ) 使用实践
阅读量:6951 次
发布时间:2019-06-27

本文共 1190 字,大约阅读时间需要 3 分钟。

原文:https://blog.csdn.net/qiangcuo6087/article/details/79041997

 

 

ActiveMQ

1. 下载windows办的activeMQ后,在以下目录可以启动:

spring

2. 启动后会有以下提示

spring

3. 所以我们可以通过http://localhost:8161访问管理页面,通过tcp://localhost:61616来连接消息服务器,用到的用户名和密码都在以下文件中(默认为admin=admin)

spring

springboot连接ActiveMQ

1. 加入依赖:

spring-boot-starter-activemq

2. 配置连接属性:

spring

消息的发送和接收

生产者/消费者模式

1. 创建生产者

spring

2. 创建消费者

spring

注意: @JmsListener是一个可重复的注解,在java7及以下版本jdk中,可以使用@JmsListeners代替它。

3. 测试类

spring

4. 运行测试

spring

发布/订阅模式

1. 发布话题

spring

2. 订阅话题

spring

注意: 在pub/sub模式中,对消息的监听需要对containerFactory进行以下配置

spring

3. 测试

spring

spring

应用

按照以上步骤,在springboot中很容易就实现类两种模式的消息发送和接收。但是jms具体的应用场景是在不同的应用程序之间,生产者和消费者往往是在不同的应用中的。此外,以上例子中的消息我们只发送字符串,其实还可以发送Object类型的消息,甚至可以使用messageCreator自定义消息的转换,而不使用convertAndSend方法默认转换。

多个应用程序之间发送消息

1. 先使用一个只有发送者,没有消费者或订阅者的应用发送两类消息各十条

spring

spring

2. 我们打开localhost:8161,可以看到

spring

spring

两类都曾有十条消息入队,但只有queues中还存留10条消息。

3. 现在我们启动包含消费者和订阅者的应用程序

spring

果然,只有消费者收到了queues中的消息。

这说明订阅者接收topic是需要在topic发布之前订阅;而生产/消费模式下,消息发出后会存放在队列中,等待消费者消费。

4. 我们先启动两个包含订阅者和消费者的程序,再发布消息

spring

spring

spring

两个订阅者都收到 topic message 1~9, 而消费者中,一个收到消息 1、3、5、7、9,另一个收到0、2、4、6、8。

这说明有多个消息接收者时,生产/消费模式下多个消费者会轮流消费队列中的消息,而pub/sub模式下所有订阅者都会得到所有的消息。

你可能感兴趣的文章
360与Bing合作上线英文搜索
查看>>
保持新投资技术先进性和保护既有投资的完美均衡 —— 成都地铁4号线二期PIS车地无线通信...
查看>>
《Android和PHP开发最佳实践》一第3章 PHP开发准备
查看>>
黑客的克星或叫“白客”
查看>>
假如在1996年,微软、IBM、苹果你会投资谁?
查看>>
国网四川电力应用大数据服务经济社会发展
查看>>
杭州云栖大会10月起航,这里有一份最全的大会剧透
查看>>
雅虎卖身不影响梅耶尔赚钱 她总薪酬2.2亿美元
查看>>
Win10周年升级新增52000个emoji表情
查看>>
大数据降噪方法论
查看>>
衰退的爱立信,进击的华为
查看>>
索尼工厂被迫停止生产,日本地震带来的冲击可能不止于此
查看>>
独角兽复活:Twilio上市预示IPO市场起死回生
查看>>
数据中心运维管理经验39条
查看>>
安防的未来五年 如何把握机遇深耕市场?
查看>>
如此逼真的高清图像居然是端到端网络生成的?GANs 自叹不如 | ICCV 2017
查看>>
Wework的线上社交,能否支撑其169亿估值?
查看>>
印度SaaS创企Whatfix获370万美元A轮融资
查看>>
征信考量社交化和大数据化
查看>>
虚拟仪器技术的飞跃是测试行业转折点
查看>>