我正在使用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
个队列。
答案 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);
});
});