を実行していない場合、これは、受信機がしかし、もしメッセージがNode.jsのRabbitMQのメッセージは、受信機が
2に配信されたメッセージを送信後、最初に開始され1.If、私は
を持っています問題であり、失われました受信者が開始されていない場合、コードはメッセージの送信を指示しますが、受信者の開始はメッセージを取得しません。
私がPythonでpikaを使って同じシーケンスを試しても、正常に動作するようです。
は、私はまた、rabbitmqctlの--list_queues私はNode.jsの0.70を実行しているとUbuntu 11.04 64ビット版上で実行しています
をコマンドを使用して何もメッセージがないことを確認し
私は、次のコードを持っている私send.js
var util= require('util')
var amqp = require('amqp');
var connection = amqp.createConnection({host:'localhost',
login:'guest',
password:'guest'});
var pubMessage = function pubM(msg) {
var x = connection.exchange();
var q = connection.queue('helloNode',
{ autoDelete: true, durable: false, exclusive: false }
);
x.publish('helloNode',{helloNode: "This is a message"});
};
connection.addListener('ready', pubMessage);
console.log(" Sent a message ");
と私の受信機に次のコード
var util= require('util')
var amqp = require('amqp');
var connection = amqp.createConnection({host:'localhost',
login:'guest',
password:'guest'});
connection.on('ready', function() {
var q = connection.queue('helloNode',
{ autoDelete: true, durable: false, exclusive: false }
);
q.bind('#');
q.subscribe(function (message) {
util.p(message);
});
});
autoDeleteを設定します。falseが処理されました。唯一のことは、同じキュー名を使用していたので、変更を加えた後にrabbitmqサーバーを再起動しなければならないということでした。実際に私はラップトップで走っていて、ラップトップは再起動しました –