简单尝试了node下的ActiveMQ

1、下载apache-activemq-5.9.0,执行bat文件;

2、登录http://localhost:8161/admin可查看其管理后台;

3、安装stomp客户端 npm install stomp-client

4、修改基础代码如下:

var Stomp = require('stomp-client');
var readline = require('readline');
//创建两个不同的topic
var topic1 = '/topic/topic1';
var topic2 = '/topic/topic2'; var rl = readline.createInterface({
input : process.stdin,
output : process.stdout,
terminal : false
}); //1. publisher-subscribe 定义一个或者多个topic,然后给这些topic发送消息
//2. p2p 双方通过一个quene来发送、接收消息,一个quene只有一个发送、一个接收
//3. request-response 双方各有一个quene作为彼此的收发,相当于两个p2p var publisher = new Stomp('127.0.0.1', 61613, '', ''); //发布者
var subscriberA = new Stomp('127.0.0.1', 61613, '', ''); //订阅者A
var subscriberB = new Stomp('127.0.0.1', 61613, '', ''); //订阅者B publisher.connect(function(sessionId) {
rl.on('line', function(line) {
switch (line.split(":")[0]) { case 'topic1':
publisher.publish(topic1, line.split(":")[1]);
break;
case 'topic2':
publisher.publish(topic2, line.split(":")[1]);
break;
default:
console.log('commond error `' + line.trim() + '`');
break;
}
rl.prompt();
}).on('close', function() {
console.log('close test project!');
process.exit(0);
});
}); subscriberA.connect(function(sessionId) {
subscriberA.subscribe(topic1, function(body, headers) {
console.log('subscriberA From Topic1:', body);
});
subscriberA.subscribe(topic2, function(body, headers) {
console.log('subscriberA From Topic2:', body);
});
}); subscriberB.connect(function(sessionId) {
subscriberB.subscribe(topic1, function(body, headers) {
console.log('subscriberB From Topic1:', body);
});
subscriberB.subscribe(topic2, function(body, headers) {
console.log('subscriberB From Topic2:', body);
});
});

输入不同命令后,控制台输出如下:

同时在管理后台的topic栏目下,查看创建的topic

node(ActiveMq)的更多相关文章

  1. ActiveMQ, Qpid, HornetQ and RabbitMQ in Comparison

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. babeljs源码

    babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...

  3. ActiveMQ的集群方案对比及部署

    转载:http://blog.csdn.net/lifetragedy/article/details/51869032 ActiveMQ的集群 内嵌代理所引发的问题: 消息过载 管理混乱 如何解决这 ...

  4. How to configure security of ActiveMQ ?

    Terms {activemq.home}: The ActiveMQ installation folder. How to configure ActiveMQ to use JAAS Authe ...

  5. Activemq mqtt 点对点聊天实现(转载)

    我这想到一个点对点聊天的方法,不用没割人都建立一个topic了,思路还是自定义一个分发策略,具体如下: 1.  建立一个topic,所有人都用匹配订阅的方式订阅以该topic为头的topic,例如:所 ...

  6. ActiveMQ实现负载均衡+高可用部署方案

    一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现 2.activemq的特 ...

  7. JMS学习(六)-ActiveMQ的高可用性实现

    原文地址:http://www.cnblogs.com/hapjin/p/5663024.html 一,ActiveMQ高可用性的架构 ActiveMQ的高可用性架构是基于Master/Slave 模 ...

  8. ActiveMQ实现负载均衡+高可用部署方案(转)

    本文转自:http://www.open-open.com/lib/view/open1400126457817.html%20 一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最 ...

  9. How to Setup Replicated LevelDB Persistence in Apache ActiveMQ 5.9--转载

    原文地址:https://simplesassim.wordpress.com/2013/11/03/how-to-setup-replicated-leveldb-persistence-in-ap ...

随机推荐

  1. a标签点击跳转失效--IE6、7的奇葩bug

    一般运用a标签包含img去实现点击图片跳转的功能,这是前端经常要用到的东西. 今天遇到个神奇的bug:如果在img上再包裹一层div,而且div设置了width和height,则图片区域点击时,无任何 ...

  2. ASP.NET MVC 请求路径相关参数的获取

    Request.ApplicationPath / Request.CurrentExecutionFilePath /Home/Index Request.FilePath /Home/Index ...

  3. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  4. 使用CSS3实现一个3D相册

    CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一 ...

  5. Hyper-v 安装CentOS 7 (其他虚拟机一样参考)

    平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html hyper-v安装很多人没弄过,我这里介绍一下.(其他虚拟机参 ...

  6. CSS Position 定位属性

    本篇文章主要介绍元素的Position属性,此属性可以设置元素在页面的定位方式. 目录 1. 介绍 position:介绍position的值以及辅助属性. 2. position 定位方式:介绍po ...

  7. Ubuntu搭建lnmp环境

    1.安装nginx 安装 sudo apt-get install nginx 服务启动.停止.重启 /etc/init.d/nginx start /usr/sbin/nginx -c /etc/n ...

  8. spider RPC入门指南

    本部分将介绍使用spider RPC开发分布式应用的客户端和服务端. spider RPC中间件基于J2SE 8开发,因此需要确保服务器上安装了JDK 8及以上版本,不依赖于任何额外需要独立安装和配置 ...

  9. 原生JavaScript实现hasClass、addClass、removeClass、toggleClass

    兼容IE6+,因IE6.IE7.IE8不支持Array.prototype.indexOf()和String.prototype.trim(),分别用Polyfill实现支持. 详细: indexOf ...

  10. A*算法应用[转]

    转自:http://www.cnblogs.com/zhoug2020/p/3468167.html 这是一篇十分精彩/易懂的博客,感谢原博主!本文通过自己的理解在原博文基础上突出一些重点字眼,句子. ...