首页 > 解决方案 > 春天兔子MQ。连接多个应用实例时确定所有消费者

问题描述

我有一个在运行时创建/停止/恢复队列和消费者的应用程序。该应用程序有多个实例。我面临的问题是实例只知道自己创建的消费者。因此,如果有两个队列,每个队列都有一个由不同的应用程序实例创建的消费者,RabbitListenerEndpointRegistry.getQueueNames则只返回该实例正在侦听的一个队列

示例行为:

我需要什么:从任何应用程序实例中获取所有侦听器,并从任何应用程序实例中删除任何队列侦听器。

我玩了很多连接工厂,但没有运气。

这有可能吗?

标签: springspring-bootrabbitmqamqpspring-rabbit

解决方案


使用 AMQP 协议或 Spring 库没有什么可用的;RabbitMQ 确实提供了一个 REST API 和一个 Java 客户端绑定 (Hop),这可能会有所帮助,但是您需要以某种方式与每个实例进行通信以关闭侦听器。


推荐阅读