问题描述
** 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
题外话:启动的时候要先启动生产者,再启动消费者。不然先启动消费者的话,创建的队列就会是普通队列了,后面再启动生产者的话就会报错了(已经存在队列了)。