首页 文章

单个线程可以使用多个队列吗?

提问于
浏览
0

我有一个Java线程调用 basicConsume(String queueName,...) 来从RabbitMQ服务器获取消息 .

单个线程是否可以同时阻止多个队列,例如 consume(List<String> queues,...) 它从哪个队列中返回第一个可用项目?

我看了the API但没有找到任何办法这样做 .

1 回答

  • 1

    如果要等待多个队列,只需创建一个 Consumer (它可以是 QueueingConsumer 或自定义队列),并使用同一个消费者实例作为参数在队列上多次调用 basicConsume() .

    这样, handleDelivery() 回调将在(或者,在 QueueingConsumerconsumer.nextDelivery() 将阻止直到)队列中的第一个项目可用时被调用 .

相关问题