spring - 春天兔子MQ。连接多个应用实例时确定所有消费者
问题描述
我有一个在运行时创建/停止/恢复队列和消费者的应用程序。该应用程序有多个实例。我面临的问题是实例只知道自己创建的消费者。因此,如果有两个队列,每个队列都有一个由不同的应用程序实例创建的消费者,RabbitListenerEndpointRegistry.getQueueNames
则只返回该实例正在侦听的一个队列
示例行为:
- 从应用实例 1 创建 queueA
- 从应用实例 2 创建 queueB
- 获取当前正在从 instance1 侦听的所有队列 - 仅给出 queueA
我需要什么:从任何应用程序实例中获取所有侦听器,并从任何应用程序实例中删除任何队列侦听器。
我玩了很多连接工厂,但没有运气。
这有可能吗?
解决方案
使用 AMQP 协议或 Spring 库没有什么可用的;RabbitMQ 确实提供了一个 REST API 和一个 Java 客户端绑定 (Hop),这可能会有所帮助,但是您需要以某种方式与每个实例进行通信以关闭侦听器。
推荐阅读
- python - IndexError:反转列表时列表索引超出范围错误
- javascript - 根据单击位置在行之间交换表格单元格
- javascript - Shopify:修改后购物车中的变体不正确
- excel - 在 Excel 中展开列表中的每个项目,并在第二个和第三个列表中包含所有变体
- unity3d - MapBox地图空间位置到longlat Unity3D
- selenium - 无法找到网页元素
- google-oauth - 无法在开发者控制台中创建凭据
- etl - 文件路径中的正则表达式
- bash - 需要帮助理解为什么 grep 中的这个字符串会提取 IP 地址而不是其他字符串
- c# - C# WPF - 在网格之间切换