2013-07-03 44 views
0

我有一個Java線程調用basicConsume(String queueName,...)來從RabbitMQ服務器獲取消息。單個線程是否可以消耗多個隊列?

可以一個單個一次線程在多於一個隊列上,例如, consume(List<String> queues,...)它從哪個隊列返回第一個可用項目?

我看過the API,但沒有找到任何方法來做到這一點。

+0

我認爲你將需要超過1個線程 – robthewolf

回答

1

如果你想等待多個隊列,你可以簡單地創建一個Consumer(它可以是一個QueueingConsumer或者自定義),並多次調用你的隊列basicConsume()與此相同的消費者實例作爲參數。

這樣,handleDelivery()回調將在(或者在QueueingConsumerconsumer.nextDelivery()將阻塞的情況下)調用時從隊列中獲得第一項。

相關問題