node(ActiveMq)
简单尝试了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)的更多相关文章
- ActiveMQ, Qpid, HornetQ and RabbitMQ in Comparison
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- babeljs源码
babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...
- ActiveMQ的集群方案对比及部署
转载:http://blog.csdn.net/lifetragedy/article/details/51869032 ActiveMQ的集群 内嵌代理所引发的问题: 消息过载 管理混乱 如何解决这 ...
- How to configure security of ActiveMQ ?
Terms {activemq.home}: The ActiveMQ installation folder. How to configure ActiveMQ to use JAAS Authe ...
- Activemq mqtt 点对点聊天实现(转载)
我这想到一个点对点聊天的方法,不用没割人都建立一个topic了,思路还是自定义一个分发策略,具体如下: 1. 建立一个topic,所有人都用匹配订阅的方式订阅以该topic为头的topic,例如:所 ...
- ActiveMQ实现负载均衡+高可用部署方案
一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现 2.activemq的特 ...
- JMS学习(六)-ActiveMQ的高可用性实现
原文地址:http://www.cnblogs.com/hapjin/p/5663024.html 一,ActiveMQ高可用性的架构 ActiveMQ的高可用性架构是基于Master/Slave 模 ...
- ActiveMQ实现负载均衡+高可用部署方案(转)
本文转自:http://www.open-open.com/lib/view/open1400126457817.html%20 一.架构和技术介绍 1.简介 ActiveMQ 是Apache出品,最 ...
- 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 ...
随机推荐
- Python应用03 使用PyQT制作视频播放器
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载. 最近研究了Python的两个GUI包,Tkinter和PyQT.这两个GUI包的底层分别是Tcl/ ...
- Phoenix综述(史上最全Phoenix中文文档)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...
- npm 使用小结
本文内容基于 npm 4.0.5 概述 npm (node package manager),即 node 包管理器.这里的 node 包就是指各种 javascript 库. npm 是随同 Nod ...
- 用django创建一个项目
首先你得安装好python和django,然后配置好环境变量,安装python就不说了,从配置环境变量开始 1.配置环境变量 在我的电脑处点击右键,或者打开 控制面板\系统和安全\系统 -> 左 ...
- OSGi规范的C#实现开源
这是大约在3-4年前完成的一个C#实现的OSGi框架,实现的过程参照了OSGi规范与与一些实现思路(感谢当时的那些资料与项目),此框架虽然仅在几个小型项目有过实际的应用,但OSGi的规范实现还是相对比 ...
- 清除打印机队列中无法清除的任务 & 清空打印池
故障现象典型表现为以下两种情况 1.当打印任务开始进行时,这些打印任务便被保存在打印作业列表(也称打印队列)内.如果打印机因意外暂停(如打印机未连接)而未完成打印任务,则该打印任务将列入打印队列,并且 ...
- 1 selenium3.0.1无法打开火狐浏览器
[问题描述] 1.配置selenium3.0和java后,尝试打开火狐浏览器,提示缺少geckodriver驱动. [解决方案] 1.在http://www.seleniumhq.org/downlo ...
- mono for android学习过程系列教程(4)
今天要讲的事情是构建安卓程序的UI界面. 首先给大家上点小点心,如图: 上面就是我们界面的设计模块,仔细看中间大块的下方,有一个Source,这就类似webform里面的设计和源代码界面. 在这个页面 ...
- Maven实战:Maven生命周期
前言 之前有写过一篇文章Maven实战,介绍了Maven的一些基本概念,以及对于一个初学者而言的Maven基础知识,当时在我看来掌握了这些基本是够用的. 随着工作的深入,越来越感觉对于Maven的理解 ...
- 安全防范:nginx下git引发的隐私泄露问题
安全防范:nginx下git引发的隐私泄露问题 1 安全事件 最近阿里云服务器后台管理系统中收到一条安全提示消息,系统配置信息泄露: http://my.domain.com/.git/confi ...