4

AMQP キューを交換にバインドするたびに、自動的に「デフォルト」の直接交換にバインドされているように見えます。

rabbitMQ サーバーと node.js を使用するコードは次のとおりです。

var amqp = require('amqp');

var connection = amqp.createConnection({host:'localhost'});

connection.on('ready', function(){
    var q = connection.queue('test_queue_name');
    var exc = connection.exchange('test_exchange', { autoDelete:true });
    q.bind('test_exchange', 'test.key');
});

「rabbitmqctl list_bindings」コマンドを使用した場合のコンソール出力は次のとおりです。

Listing bindings ...
        exchange        test_queue_name queue   test_queue_name []
test_exchange   exchange        test_queue_name queue   test.key        []
...done.
4

1 に答える 1

3

RabbitMQ は、キュー名と同じルーティング キーを使用して、すべてのキューをデフォルトの交換に自動的にバインドします。

ドキュメントから

デフォルトの交換は、ブローカーによって事前に宣言された名前 (空の文字列) のない直接交換です。単純なアプリケーションに非常に役立つ特別なプロパティが 1 つあります。作成されるすべてのキューは、キュー名と同じルーティング キーで自動的にバインドされます。

これは AMQP 仕様の一部であると確信しています。

于 2012-06-17T05:29:13.893 に答える