【发布时间】:2026-02-22 04:10:01
【问题描述】:
我有一个项目,我们将在 rabbit 中有数百个(可能是数千个)队列,每个队列都需要被一个消费者池消费。
在 rabbit(使用 spring-amqp)中,你有 rabbitlistener 注释,它允许我静态分配这个特定消费者将处理的队列。
我的问题是 - 使用 rabbit 和 spring,我是否有一种干净的方式来获取一部分队列(比如说以 ac 开头的队列),然后还监听在消费者运行时创建的任何队列。
示例(开始时):
- 蚂蚁队列
- 苹果队列
- 猫队列
当消费者运行时:
- 添加蝙蝠队列
这是我目前拥有的(非常简单的)代码:
@Component
public class MessageConsumer {
public MessageConsumer() {
// ideally grab a section of queues here, initialize a parameter and give to the rabbitlistener annotation
}
@RabbitListener(queues= {"ant-queue", "apple-queue", "cat-queue"})
public void processQueues(String messageAsJson) {
< how do I update the queues declared in rabbit listener above ? >
}
}
编辑:
我应该补充一下 - 我已经浏览了我在网上找到的 spring amqp 文档,除了静态(硬编码或通过属性)声明队列之外,我没有找到任何东西
【问题讨论】:
标签: java rabbitmq spring-amqp