node-amqp无法向RabbitMQ发送消息

时间:2013-04-22 10:18:47

标签: node.js rabbitmq amqp node-amqp

我正在使用rabbitmq-tutorials,ruby版本工作正常,但node.js版本无法发送消息。我不知道出了什么问题。

var amqp       = require('amqp');
var amqp_hacks = require('./amqp-hacks');

var connection = amqp.createConnection({host: 'localhost'});

connection.on('ready', function(){
    connection.publish('hello_node', 'Hello World!');
    console.log(" [x] Sent 'Hello World!'");

    amqp_hacks.safeEndConnection(connection);
});

运行node send.js后,运行进程node recv.js无法恢复任何内容。并且rabbitmqctl list_queues未显示hello_node个队列。

1 个答案:

答案 0 :(得分:5)

您需要指明队列然后发布。 该版本应该有效:

    var amqp       = require('amqp');
    var amqp_hacks = require('./amqp-hacks');

    var connection = amqp.createConnection({host: 'localhost'});

    connection.on('ready', function(){
            connection.queue('hello_node', {'durable': false}, function(q){
                connection.publish('hello_node', 'Hello World!');
                console.log(" [x] Sent 'Hello World!' to 'hello_node'");

                amqp_hacks.safeEndConnection(connection);
            });
    });