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