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

每次我将一个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. 

RabbitMQ会自动将每个队列绑定到默认交换机,并使用与队列名称相同的路由键。

从文档

默认交易所是代理人预先声明的没有名称(空string)的直接交易。 它有一个特殊的属性,对于简单的应用程序非常有用: 创build的每个队列都使用与队列名称相同的路由键自动绑定到它。

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