1.题目产生
我在给一个普通队列去绑定死信互换机和死信队列的时间,发现总是报错x-dead-letter-exchange的属性为none
ERROR [PFTID:] [Module:defaultModule] org.springframework.amqp.rabbit.connection.CachingConnectionFactory - Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg ‘x-dead-letter-exchange’ for queue ‘elkQueue’ in vhost ‘/’: received the value ‘dlxExchange’ of type ‘longstr’ but current is none, class-id=50, method-id=10)
2.题目解决
1.扣问gpt
他说可能跟互换机创建的顺序有关,我就将死信互换机的创建放到了前面,但是照旧报同样的错误
2.独立思考
先是检查了一下死信互换机的相干配置是不是有题目,但是发现没题目,然后留意到了这个持久化队列的配置,因为前一天刚做完对mq的消息可靠性的配置,就想起了持久化队列的概念,保留元数据,在启动时自动恢复,我一想,既然是自动恢复的,那么我新加的配置肯定不能见效啊,所以就将互换机和队列都删除,重新启动,就好了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |