springboot整合rabbitmq附源码

发布时间:2023年12月21日

前提是对rabbitmq有一定的了解,比如虚拟主机,交换机,队列,信道,绑定,路由键,direct,fanout,topic等

我使用的是docker部署的rabbitmq,看到简书的这个,镜像版本是rabbitmq:3.7.7-management

不会的可以看教程,docker安装rabbitmq
或者这里
docker安装RabbitMQ教程(2023年最详细)
确保rabbitmq环境,并且安装了延迟交换机的插件
插件安装看这里
Docker版RabbitMQ安装延迟队列插件及延迟队列项目应用实战

本教材源码地址:https://gitee.com/jackXUYY/springboot-example.git

在这里插入图片描述

目录结构
在这里插入图片描述
direct测试

DirectConfig此类是配置direct交换机,及队列,绑定关系

在这里插入图片描述
在这里插入图片描述
调用sendDirectMessage接口发送后,

在这里插入图片描述

只看出到了我们自定义的监听处理,我们先注释掉自定义的处理方式
在这里插入图片描述

在重启服务,发送一次
在这里插入图片描述
在这里插入图片描述
也许是我们传的是map,换成jsonObject就可以了

在这里插入图片描述

在这里插入图片描述

Fonout演示

配置FonoutConfig
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

topic演示
TopicConfig
在这里插入图片描述
发送消息,指定路由键为man,
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

延迟交换机测试,场景就是下单了,没付费,过期取消订单

LazyExchangeConfig

在这里插入图片描述

在这里插入图片描述

看到控制台说没有回调可用
Returned message but no callback available
3、延时插件小问题
RabbitMQ延迟队列消息路由失败(312 NO_ROUTE)原因及处理
原因:延迟插件不支持mandatory=true参数,如果启用会同时收到延迟消息和路由失败消息
解决方法
设置mandatory=false

参考:https://blog.csdn.net/bbj12345678/article/details/108433250
https://www.jianshu.com/p/aa2c42e41824

文章来源:https://blog.csdn.net/qq_44909430/article/details/135126536
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。