channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILE

问题描述

** MQ发送异常 **

详细报错信息

Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg ‘x-dead-letter-exchange’ for queue ‘topic.log.gateway’ in vhost ‘/’: received the value ‘deadLetterTopicLogExchange’ of type ‘longstr’ but current is none, class-id=50, method-id=10)

原因分析:

mq中已经存在了该gateway 队列,而且我这里新使用的队列是包含绑定死信队列这个属性的(之前存在的是一个普通队列),所以存在了冲突。

解决方案:

将旧的名字相同的队列删除 或者 使用新的队列名

PS

题外话:启动的时候要先启动生产者,再启动消费者。不然先启动消费者的话,创建的队列就会是普通队列了,后面再启动生产者的话就会报错了(已经存在队列了)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值