springboot中rabbitmq集成——单项目
来源:互联网 发布:办公软件高级应用 编辑:程序博客网 时间:2024/05/16 14:44
这两天看了下activemq和rabbitmq,现在跟大家分享下rabbitmq在springboot中的集成及使用。
依赖
- 1
- 2
- 3
- 4
具体代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
继承CommandLineRunner是消息队列能够在项目启动的时候直接执行。
接收(消费)消息的代码,(现在先以一个项目来操作):
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
@RabbitListener(queues=”my-rabbitmq”)是用来监听消息队列的,如果队列中有消息将直接在这里被消费掉。
启动项目,控制台log如下:
我收到的消息是:这是我rabbitmq的测试消息成功消费掉了。
定义两个消息的接收器,代码稍作改动:
- 1
- 2
- 3
- 4
- 5
- 6
这里一次发送十条消息。
消息接收器代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
上面的log可以看到,两个消息接收器都有收到消息,而且是轮询消费消息的,具体是不是一样的大家可以多试几次。
传递对象:
这里分成两种讨论,1、引用的java中的对象,以Map为例;2、自己定义的实体类对象。
1、传递Map
修改代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
启动项目,看到log:
我接收到消息是:{address=上海漕河泾开发区, name=庞坤, age=28}
2、自己定义的实体类对象。
注意,这里一定要对User序列化
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
生成消息
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
消费消息
- 1
- 2
- 3
- 4
- 5
- 6
- 7
控制台log:
- 1
- 2
- 3
- 4
注意下user对象com.rhett.rabbitmq.User@3289bb89,直接指向发送的消息的实体类,两个项目之间消费消息的时候这里会有问题。
具体解决方案我会在下篇文章多项目之间说明。
参考书籍:汪云飞老师的 spring boot实战
阅读全文
0 0
- springboot中rabbitmq集成——单项目
- springboot中rabbitmq集成——单项目
- SpringBoot项目集成RabbitMq
- springboot中rabbitmq集成——多项目
- SpringBoot集成RabbitMQ
- Springboot集成RabbitMq
- Springboot集成RabbitMQ
- SpringBoot 快速集成RabbitMQ
- Springboot之集成RabbitMQ
- springboot集成RabbitMQ
- Springboot集成RabbitMq
- SpringBoot项目实战--RabbitMQ
- springboot(集成篇):RabbitMQ集成详解
- springboot项目集成Swagger2
- springBoot项目集成dubbox
- 随便谈谈RabbitMQ与springBoot进行集成。
- springboot集成rabbitMQ之对象传输
- rabbitMQ与spring集成在项目中使用
- [Lintcode] #407 加一
- c++ list vector map set 简单区别
- web渗透步骤流程
- RxBus-mvp模式下对Rxjav的封装(二)
- MFC IP Control
- springboot中rabbitmq集成——单项目
- PLsql调试 存储过程
- pycharm常用设置和用法
- Touch_Java 6:接口和多态
- uses-permission和permission的区别
- Centos 7 Mysql数据库安装配置
- sql拼接问题解决
- Maven deploy 操作:Return code is: 401和400错误
- Iptables netstat 防御简单dos攻击