使用带有 Spring AMQP 的现有队列

Use an existing queue with Spring AMQP

我正在尝试使用 AMQP 编写一个 Java Spring 启动应用程序来与 RabbitMQ 服务器通信。我必须使用现有的队列和交换器,并且无权自行声明它们(我也不想)。问题是我无法阻止 Spring 集成尝试在 RabbitMQ 中声明队列,这 returns 是一个错误。

这是从 Wireshark 发送的消息的屏幕截图:

Wireshark screenshot

我的主要 class 使用 @EnableBindings(Sink.class) 注释进行注释。

这是我 application.properties 的相关部分:

spring.cloud.stream.bindings.input.group=********************.instana.test spring.cloud.stream.rabbit.bindings.input.consumer.bind-queue=false spring.cloud.stream.rabbit.bindings.input.consumer.queue-name-group-only=true spring.cloud.stream.rabbit.bindings.input.consumer.declare-exchange=false spring.cloud.stream.rabbit.bindings.input.consumer.durable-subscription=false spring.cloud.stream.rabbit.bindings.input.consumer.exclusive=true

注意:我不想使用 Spring 的 RabbitMQ 特定实现,而是 Spring 云流解决方案。

目前没有办法阻止尝试声明队列;但您可以忽略该错误。

https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit/issues/184