查看原文
其他

Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件

Java精选 2022-08-09

>>号外:关注“Java精选”公众号,回复“2021面试题”,领取免费资料!Java精选面试题”小程序,3000+ 道面试题在线刷,最新、最全 Java 面试题!

一、CRT创建RabbitMQ容器
CRT容器自带RabbitMQ消息中间件,只需要在CRT中输入如下命令:
docker run -id --name=tensquare_rabbit -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15672:15672 -p 25672:25672 rabbitmq:management
(注:tensquare_rabbit为RabbitMQ中的名称,可以改变。网页启动端口为15672)
启动之后,输入docker ps命令查看是否创建成功
二、登录RabbitMQ
创建成功之后进入网页,访问15672端口。
(注:安装在虚拟机则填虚拟机地址,否则则为本机地址)
用户名和密码都为guest
看到如下页面则为RabbitMQ安装登录成功。
三、依赖注入
导入依赖坐标
四、配置yaml文件
配置yaml配置文件
(注:host为地址,如果安装在虚拟机则为虚拟机地址,安装在本机则本机地址。port为端口号,务必注意的是配置文件里写的是5672,而网页访问的是15672)
五、添加业务层代码
这里的业务逻辑其实很简单。本文的业务环境是用户订阅作者,之后作者发文章,他的粉丝都能够收到消息中间件发送的消息。而本文实现的是,将消息发送至消息中间件中,后续文章将介绍如何将消息中间件中的消息发送给用户
业务层添加rabbit模板
订阅部分,也就是发送消息给消息中间件的前提:创建好交换机,路由键,以及队列,并且用户订阅作者,就相当于将队列绑定到交换机上,并且有路由键作为关联
实现以上业务逻辑之后,粉丝与作者就已经绑定好了,那么当作者发文章之后,程序就像消息中间件发送消息,因此在作者发送文章的方法内,添加如下代码即可
六、测试
首先用户关注某个作者,在用作者的账号发送文章。在消息中间件中即可收到发送的消息
结语:此处难点为发送消息之前需要先创建交换机,之后将队列绑定给交换机,并且关联路由键。

作者:杨桃桃

blog.csdn.net/yt812100/article/details/111785839

往期精选  点击标题可跳转

程序员网站 Stack Overflow 被收购!以后“抄代码”难道要付费了?

为什么阿里规范需要在 @Transactional 事务注解中指定 rollbackFor?

拒绝 kill -9 强制停止,如何优雅停止 Spring Boot 服务?

数据库连接池到底应该设置多大?响应时间从 100ms 优化到 3ms!

IntelliJ IDEA 中使用热部署 JRebel 神器,开发效率提升一倍!

MySQL 中 update 语句双引号错位引发的“血案”,这会长记性了!

程序员缺乏工作经验的 7 种表现,你有没有中招?及早避坑!

数据库中 SQL 语句该如何处理 NULL 值,你真的了解过吗?

纳尼?Spring Boot 项目中使用 CommandLineRunner 有坑!

一次深夜 MySQL 优化,亿级数据分页的奇妙经历

为什么数据库连接池要用 ThreadLocal 呢?不用会怎么样?

点个赞,就知道你“在看”!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存