我正在为将要使用我的库的开发人员编写一些核心特性。其中一个特性是提供一种通过标志配置在两个不同的源之间切换消息消费的能力,这些消息的处理应该保持原样,不管源是什么-例如将消息消费从Kafka切换到rabbitmq。相同的业务逻辑将在传入消息中执行。
我试图找出如何在不使用@RabbitListener
的情况下配置消费者,这可能吗?
RabbitAdmin
-负责连接到源。RabbitTemplete
-负责发布消息。
我发现的唯一线索是使用springs SimpleMessageListenerContainer
,但他的问题是没有设置多个onMessage
处理程序的能力?
我还看到了使用MessageListenerAdapter
in this answer的选项
这些答案的主要问题是,我将处理多个队列和绑定...在这里,它似乎是整个应用程序中单个消费者的解决方案。
1条答案
按热度按时间bxpogfeg1#
每个侦听器都需要一个侦听器容器。
您可以使用 Boot 的自动配置侦听器容器工厂来创建每个容器并向其中添加侦听器。
如果同一个侦听器可以使用多个队列,则可以配置容器来侦听这些队列。