首页 > 解决方案 > 在实现死信队列 (DLQ) 时,会抛出通道错误

问题描述

通道错误;协议方法:#method(reply-code=406,reply-text=PRECONDITION_FAILED - vhost 'ecp-audit' 中队列 'ecpauditchannel.ecpqueue' 的不等效参数 'x-dead-letter-exchange':收到值 'DLX' 'longstr' 类型,但当前没有,class-id=50,method-id=10)

以下是属性文件中设置的配置。

spring.rabbitmq.virtual-host=ecp-audit
spring.cloud.stream.bindings.ecpinputchannel.destination=ecpchannel
spring.cloud.stream.bindings.error.destination=ecpError
spring.cloud.stream.rabbit.bindings.ecpauditinputchannel.consumer.auto-bind-dlq=true
spring.cloud.stream.rabbit.bindings.input.consumer.dlq-ttl=5000

提前致谢

标签: spring-cloud-streamspring-rabbit

解决方案


vhost'ecp-audit'中队列'ecpauditchannel.ecpqueue'的不等价arg'x-dead-letter-exchange':收到'longstr'类型的值'DLX'但当前为无,class-id = 50,方法-身份证=10)

创建队列后,您将无法更改队列参数。

但目前没有,

当前队列没有x-dead-letter-exchange参数。

auto-bind-dlq=true

导致设置此参数。

您必须删除队列才能设置不同的参数。


推荐阅读