如何在没有静态配置的情况下向 TopicExchange 声明和订阅多个队列?
How can I declare and subscribe many Queues to an TopicExchange without static config?
我有一个 Spring-Boot 应用程序,其中包含许多用于处理事件类型的 AMQP 消息的@Service 组件。这些消息由另一个组件发布到由路由键分隔的单个 ExchangeTopic。
我应该如何在应用程序启动后创建队列并将其订阅到 TopicExchange 并避免维护大量配置?
您可以根据需要简单地调用 RabbitAdmin.declareQueue()
和 declareBinding()
。
对于每个新队列,您可以创建一个新的 SimpleMessageListenerContainer
或将队列添加到现有容器中。
向容器添加队列会取消现有的消费者并立即创建新的消费者,因此会有(短暂的)中断。
我有一个 Spring-Boot 应用程序,其中包含许多用于处理事件类型的 AMQP 消息的@Service 组件。这些消息由另一个组件发布到由路由键分隔的单个 ExchangeTopic。
我应该如何在应用程序启动后创建队列并将其订阅到 TopicExchange 并避免维护大量配置?
您可以根据需要简单地调用 RabbitAdmin.declareQueue()
和 declareBinding()
。
对于每个新队列,您可以创建一个新的 SimpleMessageListenerContainer
或将队列添加到现有容器中。
向容器添加队列会取消现有的消费者并立即创建新的消费者,因此会有(短暂的)中断。