0

キュー「queue = connection.queue(...)」を使用するたびにインスタンス化する必要がありますか?

サーバー (node.js):

 queue = connection.queue('incoming', { // <--- DO I REALLY NEED THAT FOR EVERY REQUEST?
        durable : true,
        exclusive : false }, function() {});

 queue.subscribe(function(msg) {
      // Unsubcribe here. Maybe there is something like a once listener?
     console.log("RECEIVED: "+msg)
      //res.send(msg.data);
      queue.unsubscribe(ctag);
     res.redirect('/home');

   }).addCallback(function(ok) { ctag = ok.consumerTag; });

   exchange.publish('msg_queue', 'functional!', {  // request
      replyTo: 'incoming'
   }); 

がサーバーでインスタンス化されている場合queue = connection.queue(...);、キューを使用した最初のリクエストは成功しますが、次のリクエストはエラーをスローします。

Error: NOT_FOUND - no queue 'incoming' in vhost '/'
at Queue._onMethod (/Users/cassiomelo/code/cubix/cubix_nodejs/node_modules/amqp/amqp.js:1720:15)
4

1 に答える 1

1

応答キューを保持する rpc の例については、Rabbit.js で REP/REQ を作成する方法をご覧ください。

于 2012-05-18T09:56:32.573 に答える