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即可,如下代码。不然就会抛出如上异常。

相关推荐
胚芽鞘6812 小时前
我对rabbitmq的理解(第一次)
分布式·rabbitmq
KIDAKN2 小时前
RabbitMQ 幂等性, 顺序性 和 消息积压
分布式·rabbitmq
vortex52 小时前
Tomcat 日志文件名的命名规范
java·tomcat
little_xianzhong2 小时前
Java 日期字符串万能解析工具类(支持多种日期格式智能转换)
java·开发语言
刘 大 望2 小时前
传输层:UDP/TCP协议
java·网络·网络协议·tcp/ip·udp·信息与通信
小胖墩有点瘦2 小时前
【基于协同过滤的校园二手交易平台】
java·vue·毕业设计·springboot·计算机毕业设计·协同过滤·校园二手交易平台
我真的是大笨蛋2 小时前
G1 垃圾收集器深入解析
java·jvm·笔记·缓存
ytadpole2 小时前
揭秘 XXL-JOB 调度:从代码深处看路由策略的精妙设计
java·后端
27^×3 小时前
Linux 常用命令速查手册:从入门到实战的高频指令整理
java·大数据·linux