问题描述
我尝试将我的流应用程序(处理器)配置为使用当前参数自动绑定 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 (将#修改为@)