Spring Boot 兔子mq2.1.3版本

bjg7j2ky  于 2023-04-06  发布在  Spring
关注(0)|答案(1)|浏览(200)

我得到下面的错误,而消费的消息在兔子mq通过扇出方法:
2022-08-24 12:53:29.559 ERROR 42 --- [2.20.43.29:5672] o.s.a.r.c.CachingConnectionFactory:通道关闭:通道误差方案方法:#method<channel.close>(reply-code=406,reply-text=PRECONDITION_FAILED - inequivalent arg 'type' for exchange 'avitas.nodedata' in vhost 'avitas':接收到“主题”,但当前为“扇出”,类id =40,方法id =10)

h7appiyu

h7appiyu1#

看起来像是配置错误。RabbitMQ交换是不可变的,错误显示avitas.nodedata交换的类型是fanout,但是消费者希望它应该是topic类型。
如果我们考虑rabbit spring云集成,那么如果我们最初有以下配置:

spring.cloud.stream.rabbit.bindings:
    channel:
      consumer:
        exchangeType: fanout

然后将交换类型更改为其他类型

spring.cloud.stream.rabbit.bindings:
    channel:
      consumer:
        exchangeType: topic

然后,我们将在RabbitMQ中交换fanout类型,而消费者期望与topic类型进行相同的交换。

相关问题