如何在nodejs amqp中获取现有队列参数?

时间:2014-04-14 16:00:33

标签: node.js amqp node-amqp

我使用amqplib:

使用send.js
var 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前提条件失败错误。只要它有效,我就会乐意调整任何一种配置。

1 个答案:

答案 0 :(得分:2)

在两端使用amqplib解决了这个问题。