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

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

以下是客户端代码:

  1. var ampq = require('amqp');
  2. var util = require('util');
  3. var connection = ampq.createConnection();
  4. var bStop = false;
  5. connection.on('ready', function () {
  6. connection.queue('moneyQueue', { durable: true, autoDelete: false }, function (queue) {
  7. console.log('Queue ' + queue.name + ' is open!');
  8. queue.subscribe(function (message, header, deliveryInfo) {
  9. if (message.data) {
  10. var messageText = message.data.toString()
  11. console.log(messageText);
  12. if (messageText === "quit") bStop = true;
  13. }
  14. });
  15. });
  16. });
  17. (function keepItRunning() {
  18. if (!bStop)
  19. setTimeout(keepItRunning, 1000);
  20. else
  21. connection.end();
  22. })();

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

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

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

http://blog.csdn.net/puncha/article/details/8452017

最新文章

  1. Prometheus 系统监控方案 二 安装与配置
  2. [Android]学习笔记之布局
  3. html+css+js 模拟win7桌面
  4. [转]SQL Server字符串处理函数大全
  5. PHPExcel(1.8.0) 帮助代码
  6. MYSQL中创建存储过程实现向表中循环插入数据
  7. Sql分隔字符串方法--split
  8. nginx: [warn] conflicting server name "locahost" on 0.0.0.0:80, ignored
  9. 夺命雷公狗—angularjs—12—get参数的接收
  10. ARM异常中断处理
  11. JS正则汇总
  12. Python中的函数对象与闭包
  13. bzoj1016:[JSOI2008]最小生成树计数
  14. 关于textView的字数限制
  15. ios7中使用scrollview来横向滑动图片,自动产生偏移竖向的偏移 问题
  16. 浅谈38K红外发射接受编码
  17. C文件操作的语言fgets()
  18. 非关系型数据库----MongoDB
  19. python socket 编程
  20. MYSQLi数据访问查询数据

热门文章

  1. Django的ORM获取单表数据的三种方法
  2. 关于pycharm database查看db.sqlites文件提示:Driver class 'org.sqlite.JDBC' not found
  3. 大幅提升Delphi Datasnap数据传输效率的方法
  4. Educational Codeforces Round 37 G. List Of Integers (二分,容斥定律,数论)
  5. 基于IAP的STM32程序更新技术
  6. T2695 桶哥的问题——送桶 题解
  7. 基于CentOS 7下最小化安装的操作系统搭建Zabbix3.0环境
  8. [NLP] cs224n-2019 Assignment 1 Exploring Word Vectors
  9. nodejs的npm命令无反应的解决方案
  10. 2016多校7.14 Warmup 题解