zoukankan      html  css  js  c++  java
  • RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ

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

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

    以下是客户端代码:

    [javascript] view plaincopyprint?
     
    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的管理页面,发送消息。

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

  • 相关阅读:
    php configure –help说明
    HTML5(目前)无法帮你实现的五件事多媒体
    Centos搭建PHP5.3.8+Nginx1.0.9+Mysql5.5.17
    lighttpdmod_secdownload 防盗链
    中文环境下PostgreSQL的使用
    一步一步教你安装Nginx+PHP+Mysql
    20+ 个免费和高级的 Web 视频播放器
    二十个你必须知道的SEO概念
    IO流
    sofaBoot
  • 原文地址:https://www.cnblogs.com/tianciliangen/p/4199173.html
Copyright © 2011-2022 走看看