2012-05-10 5 views
0

私は実際にキュー "queue = connection.queue(...)"を使用するたびにインスタンス化する必要がありますか?node.js amqpでリクエストが行われた後にキューをアクティブに保つには?

サーバー(Node.jsの):queue = connection.queue(...);がサーバーでインスタンス化されている場合は

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' 
    }); 

、キューを使用して最初の要求は成功しますが、以下の要求はエラーをスロー:

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

短い答えですが、あなたはしません。 しかし、あなたがしようとしていることについてもっと知りたいと思います。この例では、あなたが急行路線などでこれをやっているように見え、メッセージを受け取ったときに '/ home'にリダイレクトします。 – kmpm

答えて