Spring运行程序RabbitMQ并没有自动创建队列的问题解决

几天前遇到了一个问题,如标题所说,自己代码@使用RabbitListener绑定一个交换机,但是代码运行后交换机按照配置项创建了出来,但是队列却无法创建成功,也就绑定失败了。

运行后就会抛出异常:

总体来说就是无法创建队列,这时检查我们的交换机已经创建出来了,那么这是我为什么呢?

解决方法:

这是因为我的代码

复制代码
@QueueBinding(
    value = @Queue(name = "custom_edit_user_queue"), 
    exchange = @Exchange(value = RabbitConfig.EXCHANGE_NAME, type = ExchangeTypes.FANOUT))

当我们使用@Exchange,如果我们不指定autoDelete属性他就是默认autoDelete = false,但是我所设计的交换机autoDelete=true。所以导致程序在检验绑定的交换机时,发现我所创建的交换机与我要绑定的交换机所声明的属性有所不同。我们直接显式的确定绑定交换机的autoDelete属性为true即可,如下代码。不然就会抛出如上异常。

相关推荐
一只学java的小汉堡2 分钟前
RabbitMQ 在 Windows 环境下启动失败的完整解决方案
windows·分布式·rabbitmq
卡戎-caryon2 分钟前
【Java SE】06. 数组
java·开发语言
想躺平的咸鱼干4 分钟前
Spring AI Alibaba
java·人工智能·spring
老华带你飞34 分钟前
学生信息管理系统|基于Springboot的学生信息管理系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·学生信息管理系统
聪明的笨猪猪1 小时前
Java SE “泛型 + 注解 + 反射”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
磨十三1 小时前
C++ 类型转换全面解析:从 C 风格到 C++ 风格
java·c语言·c++
Zzzzmo_1 小时前
Java数据结构:ArrayList与顺序表2
java·数据结构
Fency咖啡1 小时前
Spring 基础核心 - SpringMVC 入门与请求流程
java·后端·spring·mvc
FrankYoou2 小时前
Spring Boot 自动配置之 Spring transaction
java·spring boot·spring
数字化顾问2 小时前
从索引失效到毫秒级响应——SQL 优化实战案例:从慢查询到高性能的完整指南之电商大促篇
java·开发语言·数据库