0

basicConsume(String queueName,...)RabbitMQ サーバーからメッセージを取得するために呼び出す Java スレッドがあります。

1つのスレッドが一度に複数のキューをブロックすることはできますか? たとえば、consume(List<String> queues,...)それらのキューのいずれかから最初に使用可能なアイテムを返す場合などです。

APIを見ましたが、これを行う方法が見つかりませんでした。

4

1 に答える 1

1

複数のキューで待機する場合は、単に を作成しConsumer(またはカスタム キューを作成できます) 、この同じコンシューマー インスタンスを引数としてキューでQueueingConsumer複数回呼び出すことができます。basicConsume()

そうhandleDelivery()すれば、コールバックは、キューからの最初のアイテムが利用可能になったときに呼び出されます (または、 の場合は、QueueingConsumerそれconsumer.nextDelivery()までブロックされます)。

于 2013-07-03T10:06:26.500 に答える