RabbitMQ に依存する Node.js アプリケーションを作成しています。RabbitMQ に接続するためのライブラリとして node-amqp を使用しています。
RabbitMQ への接続を確立したら、まず交換を作成します。
var options = { autoDelete: false, confirm: true, durable: true, type: 'direct' };
connection.exchange('myExchange', options, function (myExchange) {
// ...
});
これは完全に機能します。ご覧のとおり、 を使用して交換を作成しているconfirm: true
ため、後で交換が確認モードになることを期待しています。
メッセージを公開しようとすると、問題が発生します。
var options = {};
myExchange.publish('', { data: 'foobar' }, options, function () {
// ...
});
問題は、publish
関数のコールバックが呼び出されないことです-メッセージは正常に発行されましたが (RabbitMQ の Web 管理ツール内で確認できます)。
確認モードを間違った方法で理解しましたか? これは node-amqp のバグですか?
どんな助けでも大歓迎です:-)