兔mq 2.1.3版本

问题描述 投票:0回答:1

我在通过扇出方法在 rabbit mq 上消费消息时遇到以下错误:

2022-08-24 12:53:29.559 错误 42 --- [2.20.43.29:5672] o.s.a.r.c.CachingConnectionFactory:通道关闭:通道错误;协议方法:#method(reply-code=406,reply-text=PRECONDITION_FAILED - 虚拟主机'avitas'中交换'avitas.nodedata'的不等价arg'type':收到'topic'但当前是'fanout',class- id=40,方法-id=10)

spring-boot rabbitmq protocol-buffers
1个回答
0
投票

看起来配置错误。 RabbitMQ 交换是不可变的,错误说

avitas.nodedata
交换有
fanout
类型,但是,消费者期望它应该有
topic
类型。

如果我们考虑 rabbit spring cloud integration 那么如果我们最初有以下配置:

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

然后将交换类型更改为不同的

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

然后,我们将与 RabbitMQ 中的

fanout
类型进行交换,而消费者期望与
topic
类型进行相同的交换。

© www.soinside.com 2019 - 2024. All rights reserved.