【发布时间】:2013-11-27 20:43:17
【问题描述】:
当我发布到默认交易所时,我似乎无法得到确认。我目前正在使用 this post 建议的 node-amqp 的 master 分支。
代码:
var amqp = require('amqp');
var conn = amqp.createConnection({ host: 'localhost' });
conn.once('ready', function () {
conn.publish('test_queue', 'test message', { /* empty options */ }, function (a, b) {
console.log('Publish complete.');
});
});
我相信默认交换是一个空字符串的直接交换(所有其他选项都是默认的)。根据exchange.publish method,如果确认选项为真,它将调用提供的回调。我尝试自己创建交换,但也没有运气。
var amqp = require('amqp');
var conn = amqp.createConnection({ host: 'localhost' });
conn.once('ready', function () {
conn.exchange('', { confirm: true }, function (exchange) {
exchange.publish('test_queue', 'test message', { /* empty options */ }, function (a, b) {
console.log('Publish complete.');
});
});
});
我可以使用 RabbitMQ 网站上的basic python receive script 确认我已成功发布消息。
默认交换是否在发布方法中发出确认消息?我是不是叫错了?
【问题讨论】:
标签: node.js rabbitmq node-amqp