node.js subscriber client for rabbitmq (implements topics (ExcahangeName)) -
i trying write node.js client(subscriber module) consume messages rabbitmq(amqp). trying implement topics (exchangename) in rabbitmq.
i trying use either (easy-amqp) or postwait task.
i have written publisher method in java , want write subscriber method in javascript( node.js).
my java program works fine able send out messages rabbitmq.
i think have messed subscriber method. when run subscriber method doesn't give me error , doesn't print messages console.
my java method like
//publisher (written in java) connection connection = null; channel channel = null; string routingkey =null; connectionfactory factory = new connectionfactory(); factory.sethost("localhost"); connection = factory.newconnection(); channel = connection.createchannel(); //publishing exchange_name topic channel.exchangedeclare(exchange_name, "topic"); //set routing key routingkey = "anonymous.info" ; channel.basicpublish(exchange_name, routingkey, null, message.getbytes()); system.out.println("sent '" + routingkey + "':'" + message + "'");
//subscriber method in js (node.js) //using (postwait- node-amqp )
var amqp = require('amqp'); var connection = amqp.createconnection({defaultexchangename: "topic"}); // wait connection become established. connection.on('ready', function () { connection.queue('anonymous.info', function(q){ // catch messages q.bind('#'); // receive messages q.subscribe(function (message) { // print messages stdout console.log(message); }); }); });
this doesn't give me error doesn't print messages console.
so came across library called easy-amqp. gave try
// subscriber using easy-amqp.
var easyamqp = require('easy-amqp'); var connection = easyamqp.createconnection("amqp://localhost:5672"); // setting exchange connection.exchange('topic') connection.on('ready', function () { connection.queue('anonymous.info', function(q){ q.bind('#'); // receive messages q.subscribe(function (message) { // print messages stdout console.log(message); }); }); });
this doesn't give me desired result.
did check console log? check first.
connection.on('ready', function () { **console.log('ready function called!');** connection.queue('anonymous.info', function(q){ // catch messages q.bind('#'); // receive messages q.subscribe(function (message) { // print messages stdout console.log(message); }); }); });
Comments
Post a Comment