这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战
前言
前两篇文章分别介绍了 RabbitMQ 的搭建与基础使用,哪些基础都是学习 MQ 的必要知识,而想要在项目中用到,则需要集成到我们的 Spring 项目中,本文只介绍 Springboot 如何集成 RabbitMQ,通过这个中间件给其他的微服务发送消息。
一、生产者服务搭建
1.1、建立springboot父子工程。
其中的xiaolei-server 是rabbitmq-producer 的父项目,在其下添加一个 rabbitmq的生产者服务。这样代码比较有结构。而middleware-rabbitmq 是后期对rabbitmq 封装的 SDK,里面封装一些方法和配置,后期需要,这里可以不用管他。
1.2、配置 application.yml 文件
1 | yaml复制代码# 服务端口 |
1.3、在项目中导入依赖
1 | xml复制代码<dependency> |
1.4、定义生产者,发送消息
生产者,我们继续发送上一文中讲的影片的案例。
1 | java复制代码@RestController |
1.5 初始化队列和交换机关系
1 | typescript复制代码package com.xiaolei.rabbitmq.config; |
1.6 调用 postman 接口测试
发现此时在rabbitmq 上存在了新的 交换机和topci信息
二、消费者服务搭建
2.1 导入依赖
这过程我们在父项目中已经导入了,所以这里可以省略。
1 | xml复制代码<dependency> |
2.2 application.yml 配置
1 | yaml复制代码# 服务端口 |
2.3 定义四个消费者
1 | less复制代码@RestController |
打印效果如下:
2.4 细节讲解
消费者类中通过 @RabbitListener 和 @RabbitHandler 注解将一个方法定义为消息监听的方法。
其他几种的类型都差不多,我们只要自己来配置对应的类就好了。目前基础配置已经完成。
三、小结
本文介绍了 RabbitMq 中与 Springboot 的集成,这是属于初级应用,后面的文章中,我们将再考虑其他的问题,研究 RabbitMq的相关特性。
本文转载自: 掘金