2013-04-22 231 views
8

我正在發送rabbitmq-tutorials,ruby版本正常,但node.js版本無法發送消息。我不知道什麼是錯的。node-amqp無法發送消息給RabbitMQ

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不能recv的任何東西。並且rabbitmqctl list_queues不顯示hello_node隊列。

回答

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); 
      }); 
    }); 
+0

謝謝你,它的工作原理 – nfpyfzyf 2013-04-23 01:01:03