本文转自:https://blog.csdn.net/puncha/article/details/8452017

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

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

以下是客户端代码:

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

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

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

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

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

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

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

  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. centos 安装tmux

    安装tmux之前需要先安装一些支持的组件: yum install libevent-devel ncurses-devel 接下来就是下载源码包进行安装了,以1.6版本举例 wget http:// ...

  2. 走进JDK(四)------InputStream、OutputStream、Reader、Writer

    InputStream InputStream是java中的输入流,下面基于java8来分析下InputStream源码 一.类定义 public abstract class InputStream ...

  3. ota升级动画背景色修改

    https://wenku.baidu.com/view/0d63ad25192e45361066f549.html https://blog.csdn.net/huangyabin001/artic ...

  4. WCF双工通信单工通信

    1.单工模式 单向通信,指通信只有一个方向进行,即从客户端流向服务,服务不会发送响应,而客户端也不会期望会有响应.这种情况下,客户端发送消息,然后继续执行 运行后报错: 2.双工模式 双工模式的特点是 ...

  5. RunTime之类与对象

    我们知道,Objective-C是一门动态语言,它将很多静态语言在编译时期做的事放到了运行时来处理.用C++编写的程序通过编译器直接把函数地址硬编码进入可执行文件:而Objective-C无法通过编译 ...

  6. Centos 执行top命令详细解读

    1.作用:top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式:top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数: d:指定更新的间隔,以 ...

  7. Akka-Cluster(1)- Cluster Singleton 单例节点

    关于cluster-singleton我在前面的博文已经介绍过,在这篇我想回顾一下它的作用和使用方法.首先,cluster-singleton就是集群某个节点上的一个actor.任何时间在集群内保证只 ...

  8. java 手动实现远程执行功能(深入理解java虚拟机)

     1.功能类 功能类共有五,分别是: package org.jvm; import java.io.*; /** * 对字节数组操作的工具类 */ public class ByteUtils { ...

  9. JavaScript 函数式编程读书笔记2

    概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...

  10. 仿B站项目(4)webpack打包第三方库jQuery

    概述 在项目中不可避免的会用到jquery等第三方库,来看看有什么问题,怎么解决. 遇到的问题 一般情况下,直接require第三方库,比如jquery,然后webpack会自动把第三方库打包进bun ...