学,以致用。找了半天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

RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ的更多相关文章

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

    本文转自:https://blog.csdn.net/puncha/article/details/8452017 学,以致用.找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后 ...

  2. 在Node.js环境下使用Express创建Web项目实例

    序:如果你还不知道Node.js是什么,那么你可以先看看这篇:Node.js 究竟是什么?或者任何关于它的介绍. 一.安装Node.js 1.进入Node.js官网下载并安装 2.启动cmd输入命令查 ...

  3. Node.js环境下通过Express创建Web项目

    通过Express命令创建项目 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express ...

  4. node.js环境下写的vue项目

    github地址:https://github.com/anxizhihai/JournalismProject.git

  5. mac 上node.js环境的安装与测试

    如果大家之前做过web服务器的人都知道,nginx+lua与现在流行的Node.js都是可以做web服务器的,前者在程序的写法和配置上要比后者麻烦,但用起来都是差不多.在这里建议大家如果对lua脚本语 ...

  6. mac 上node.js环境的安装与测试【转】

    http://blog.csdn.net/baihuaxiu123/article/details/51868142 一 摘要 如何大家之前做过web服务器的人都知道,nginx+lua与现在流行的n ...

  7. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

  8. [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...

  9. Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例

    前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...

随机推荐

  1. Delphi 数组特性

  2. Mac息屏后如何保持网络连接,方便远程访问

    1 wifi换成有线,因为息屏后WiFi就会自动断开 2 设置修改,点亮唤醒网络不勾选,进入休眠不勾选 3 目前测试用向日葵,远程这台电脑,再屏幕保护程序运行的情况下,可以远程控制.

  3. 如何将html页面导出word格式?

    近期做的项目也是奇葩,页面上需要导出excel,pdf,还有导出图片等...,刚把前几个怂好,还有下载成word文件,如何处理? function getOutword (id, fileName) ...

  4. Zabbix Web 中文字体显示问题

  5. php操作kafka

    php操作kafka----可以参照网上的安装步骤,先安装ldkafka rdkafka,然乎启动zookeeper和kafka服务器 <?php //$conf = new Rdkafka\P ...

  6. 7、DockerFile案例:自定义centos、自定义tomcat、webapps项目发布

    1.Base镜像(scratch) Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的 2.自定义镜像mycentos 1.Hub默认CentOS镜像什 ...

  7. [Functional Programming] Reader with Async ADT

    ReaderT is a Monad Transformer that wraps a given Monad with a Reader. This allows the interface of ...

  8. HDU 6076 - Security Check | 2017 Multi-University Training Contest 4

    /* HDU 6076 - Security Check [ DP,二分 ] | 2017 Multi-University Training Contest 4 题意: 给出两个检票序列 A[N], ...

  9. Luogu P4109 [HEOI2015]定价 贪心

    思路:找规律?$or$贪心. 提交:1次 题解: 发现:若可以构成$X0000$,答案绝对不会再在数字最后把$0$改成其他数: 若可以构成$XX50...0$更优. 所以左端点增加的步长是增加的($i ...

  10. plupload+上传文件夹

    文件夹数据库处理逻辑 publicclass DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject(); ...