标签:javascript node-js rabbitmq 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使用与队列名称相同的路由密钥自动将每个队列绑定到默认交换.
从docs
The default exchange is a direct exchange with no name (empty string) pre-declared by the broker. It has one special property that makes it very useful for simple applications: every queue that is created is automatically bound to it with a routing key which is the same as the queue name.
我很确定这是AMQP规范的一部分.
标签:javascript,node-js,rabbitmq,amqp 来源: https://codeday.me/bug/20190704/1375474.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。