如何使用 Spring Cloud Dataflow 实现 RabbitMQ DLQ

问题描述

我尝试将我的流应用程序(处理器)配置为使用当前参数自动绑定 dlq :

spring.cloud.stream.rabbit.default.consumer.auto-bind-dlq=true
spring.cloud.stream.rabbit.bindings.input.consumer.declaredlx=true

但是当我通过数据流部署它时,我的应用程序出现了当前错误

Shutdown Signal: channel error; protocol method: #method<channel.close>(reply-code=406,reply-text=PRECONDITION_Failed - inequivalent arg 'x-dead-letter-exchange' for queue 's2.kotlin-transform.s2' in vhost '/': received none but current is the value 'dlx' of type 'longstr',class-id=50,method-id=10)

Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406,reply-text=PRECONDITION_Failed - inequivalent arg 'x-dead-letter-exchange' for queue 's2.http.s2' in vhost '/': received none but current is the value 'dlx' of type 'longstr',method-id=10)

我见过不同的人有同样的问题,但情况不同:received 'dlx' of type 'longstr' but current is none 只是因为他们试图用不同的参数为 x-dead-letter-exchange

重新创建队列

这里我没有办法改变 none 因为它是通过数据流并且它是数据流在 2 秒前创建队列......

我尝试通过以下方式强制使用 dlx 名称spring.cloud.stream.rabbit.bindings.input.consumer.deadLetterExchange=MYdlx

但得到了同样的错误Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406,reply-text=PRECONDITION_Failed - inequivalent arg 'x-dead-letter-exchange' for queue 's2.http.s2' in vhost '/': received none but current is the value 'MYdlx' of type 'longstr',method-id=10)

有人可以帮助我吗?这可能是兔子活页夹中的错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...