我有一个Java线程调用basicConsume(String queueName,...)
来从RabbitMQ服务器获取消息。
单个线程是否可以同时阻止多个队列,例如consume(List<String> queues,...)
它从哪个队列返回第一个可用项目?
我查看了the API,但没有找到任何办法。
答案 0 :(得分:1)
如果您想等待多个队列,只需创建一个Consumer
(可以是QueueingConsumer
或自定义一个),并在您的队列中多次调用basicConsume()
这个消费者实例作为一个论点。
这样,handleDelivery()
回调将在(QueueingConsumer
,consumer.nextDelivery()
将阻止直到)队列中的第一个项目可用时被调用。< / p>