我使用amqplib:
使用send.jsvar rabbitMQ = require('amqplib');
rabbitMQ.connect('amqp://localhost').then(function(connection) {
connection.createConfirmChannel().then(function(channel){
channel.assertQueue('testQ').then(function(queue){
channel.sendToQueue('testQ', new Buffer('foobar'), {}, function(err, ok){
console.log(err?'nacked':'acked');
connection.close();
});
}, console.warn);
}, console.warn);
}, console.warn);
和使用amqp的receive.js:
var amqp = require('amqp');
var connection = amqp.createConnection({ host: 'localhost' });
// Wait for connection to become established.
connection.on('ready', function () {
connection.queue('testQ', function (q) {
q.bind('#');
q.subscribe(console.log);
});
});
connection.on('error', console.log);
问题是,队列的默认选项不匹配。我在使用amqplib发送后尝试使用amqp读取或在使用amqp订阅后使用amqplib进行读取时遇到406前提条件失败错误。只要它有效,我就会乐意调整任何一种配置。
答案 0 :(得分:2)
在两端使用amqplib解决了这个问题。