如何停止绑定到AMQP默认交换?

Rob*_*yes 4 javascript amqp rabbitmq node.js

每次我将 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');
});
Run Code Online (Sandbox Code Playgroud)

这是使用“rabbitmqctl list_bindings”命令时的控制台输出:

Listing bindings ...
        exchange        test_queue_name queue   test_queue_name []
test_exchange   exchange        test_queue_name queue   test.key        []
...done.
Run Code Online (Sandbox Code Playgroud)

jim*_*imr 5

RabbitMQ 自动将每个队列绑定到默认交换器,其路由键与队列名称相同。

来自文档

默认交换是经纪人预先声明的没有名称(空字符串)的直接交换。它有一个特殊的属性,这使得它对于简单的应用程序非常有用:创建的每个队列都会使用与队列名称相同的路由键自动绑定到它。

我很确定这是 AMQP 规范的一部分。