Monday, 16 July 2012

Node and ampq plugin: /amqp/amqp.js:1229 this.channels[channel] = exchange; ^ TypeError: Cannot set property '1' of undefined

This is the error I got initially:



 /home/repo/404hound/node_modules/amqp/amqp.js:1229 
  this.channels[channel] = exchange;
              ^
 TypeError: Cannot set property '1' of undefined  


The solution is to wait until the connection is ready before invoking any start functions:




   var conn = createConnection(); 
   conn.on('ready', function () {
     conn.exchange(config.exchangeName, function (exchange) {
       console.log("Starting...");
       conn.queue(config.queueName, {durable:true, exclusive:true},
         function (q) {
           q.bind(config.exchangeName, '#'); //subscribe to all messages.
           q.subscribe(function (msg) {
             console.log(msg);
           });
         });
     });
   });  



No comments:

Post a Comment