RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ
2024-08-28 16:33:36
学,以致用。找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后找到了amqp库,看上去倒还不错,照着例子,写了第一个RabbitMQ的客户端。
首先,使用 npm install amqp --save 来安装node-amqp库,虽然他推荐使用全局安装,但是不去管它!
以下是客户端代码:
- 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的管理页面,发送消息。
http://blog.csdn.net/puncha/article/details/8452017
最新文章
- Prometheus 系统监控方案 二 安装与配置
- [Android]学习笔记之布局
- html+css+js 模拟win7桌面
- [转]SQL Server字符串处理函数大全
- PHPExcel(1.8.0) 帮助代码
- MYSQL中创建存储过程实现向表中循环插入数据
- Sql分隔字符串方法--split
- nginx: [warn] conflicting server name ";locahost"; on 0.0.0.0:80, ignored
- 夺命雷公狗—angularjs—12—get参数的接收
- ARM异常中断处理
- JS正则汇总
- Python中的函数对象与闭包
- bzoj1016:[JSOI2008]最小生成树计数
- 关于textView的字数限制
- ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题
- 浅谈38K红外发射接受编码
- C文件操作的语言fgets()
- 非关系型数据库----MongoDB
- python socket 编程
- MYSQLi数据访问查询数据
热门文章
- Django的ORM获取单表数据的三种方法
- 关于pycharm database查看db.sqlites文件提示:Driver class 'org.sqlite.JDBC' not found
- 大幅提升Delphi Datasnap数据传输效率的方法
- Educational Codeforces Round 37 G. List Of Integers (二分,容斥定律,数论)
- 基于IAP的STM32程序更新技术
- T2695 桶哥的问题——送桶 题解
- 基于CentOS 7下最小化安装的操作系统搭建Zabbix3.0环境
- [NLP] cs224n-2019 Assignment 1 Exploring Word Vectors
- nodejs的npm命令无反应的解决方案
- 2016多校7.14 Warmup 题解