パブリッシュ/サブスクライブ RabbitMQ Java チュートリアルを使用してファンアウト交換を作成することができ、接続されているすべてのコンシューマーがメッセージのコピーを受信します。動的/プログラム的に交換とバインディングを宣言する代わりに、消費者を接続する前に交換とバインディングを作成したいと思います。これは、RabbitMQ 管理コンソールを使用して行いました。しかし、何らかの理由で、すべてのコンシューマがメッセージのコピーを受信するのではなく、ラウンド ロビン方式でメッセージを受信しています。私は何が欠けていますか?以下にいくつかのコード スニペットを示します。
出版社:
channel.basicPublish("public", "", null, rowId.getBytes("UTF-8"));
消費者:
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume("myqueue", false, consumer);
...そして、RabbitMQ 管理コンソールで、タイプ「ファンアウト」のエクスチェンジ「パブリック」を作成し、そのエクスチェンジから「myqueue」へのバインディングを設定しました。
助けていただければ幸いです!