您的位置:首页 > Web前端 > Node.js

RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ

2015-01-03 10:05 573 查看
学,以致用。找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后找到了amqp库,看上去倒还不错,照着例子,写了第一个RabbitMQ的客户端。

首先,使用 npm install amqp --save 来安装node-amqp库,虽然他推荐使用全局安装,但是不去管它!

以下是客户端代码:

[javascript] view plaincopyprint?

var ampq = require('amqp');

var util = require('util');

var connection = ampq.createConnection();

var bStop = false;

connection.on('ready', function () {

connection.queue('moneyQueue', { durable: true, autoDelete: false }, function (queue) {

console.log('Queue ' + queue.name + ' is open!');

queue.subscribe(function (message, header, deliveryInfo) {

if (message.data) {

var messageText = message.data.toString()

console.log(messageText);

if (messageText === "quit") bStop = true;

}

});

});

});

(function keepItRunning() {

if (!bStop)

setTimeout(keepItRunning, 1000);

else

connection.end();

})();

这个就是一个echo客户端,有消息过来,就打印出来,然后默默等待下一条消息。假如消息是quit,则优雅的退出~

其中,通过代码创建了一个可持久化的Queue: MoneyQueue,这个Queue自动会绑定到默认的Exchange,这个Exchange是RMQ提供的,所以也是持久的,这样就没问题了。

因为这个只是一个Consumer,没法单独工作,要验证的话,可以通过RMQ的管理页面,发送消息。



/article/3699890.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: