实现死信队列 (DLQ) 时,会引发通道错误

Ale*_*x G 1 spring-rabbit spring-cloud-stream

通道错误;协议方法:#method(reply-code=406,reply-text=PRECONDITION_FAILED - 虚拟主机“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
Run Code Online (Sandbox Code Playgroud)

提前致谢

Gar*_*ell 5

虚拟主机“ecp-audit”中队列“ecpauditchannel.ecpqueue”的不等价参数“x-dead-letter-exchange”:收到“longstr”类型的值“DLX”,但当前没有,class-id = 50,方法- id=10)

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

但目前没有,

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

auto-bind-dlq=true

导致设置此参数。

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