ActiveMQ 入门下载与安装

官方下载地址

解压,运行bin/win[32|64]/activemq[.bat] 启动服务

环境信息

控制台: http://localhost:8161 默认端口:8161

服务地址:

host: localhost 
port: 61613

代码例子

基本信息:

语言:Node.js 
客户端:stompjs
 

消息发布者:

 

复制代码

Queue消息消费者

  1. // Consumer_queue.js
  2. var Stomp = require('stompjs');
  3. // Use raw TCP sockets
  4. var client = Stomp.overTCP('localhost', 61613);
  5. // uncomment to print out the STOMP frames
  6. // client.debug = console.log;
  7. var connectCallback = function(frame) {
  8. var subscription = client.subscribe('/queue/FirstQueue', onMessage);
  9. //subscription.unsubscribe();
  10. };
  11. var onMessage = function(message){
  12. if (message.body) {
  13. console.log("got message with body " + message.body)
  14. } else {
  15. console.log("got empty message");
  16. }
  17. };
  18. var errorCallback = function(error){
  19. console.log(error.headers.message);
  20. };
  21. client.connect('admin', 'admin', connectCallback,connectCallback);

复制代码

Topic消息消费者

  1. // Consumer_topics.js
  2. var Stomp = require('stompjs');
  3. // Use raw TCP sockets
  4. var client = Stomp.overTCP('localhost', 61613);
  5. // uncomment to print out the STOMP frames
  6. // client.debug = console.log;
  7. var connectCallback = function(frame) {
  8. var subscription = client.subscribe('/topic/FirstQueue', onMessage);
  9. //subscription.unsubscribe();
  10. };
  11. var onMessage = function(message){
  12. if (message.body) {
  13. console.log("got message with body " + message.body)
  14. } else {
  15. console.log("got empty message");
  16. }
  17. };
  18. var errorCallback = function(error){
  19. console.log(error.headers.message);
  20. };
  21. client.connect('admin', 'admin', connectCallback,connectCallback);

复制代码

效果图

注: Queue、Topic消息消费者分别启动两个,再启动消息发布者,观察Queue、Topic消息消费者接收到的消息有什么区别

Queue与Topic的比较

1、JMS Queue执行load balancer语义: 
一条消息仅能被一个consumer收到。如果在message发送的时候没有可用的consumer,那么它将被保存一直到能处理该message的consumer可用。如果一个consumer收到一条message后却不响应它,那么这条消息将被转到另一个consumer那儿。一个Queue可以有很多consumer,并且在多个可用的consumer中负载均衡。

2、Topic实现publish和subscribe语义: 
一条消息被publish时,它将发到所有感兴趣的订阅者,所以零到多个subscriber将接收到消息的一个拷贝。但是在消息代理接收到消息时,只有激活订阅的subscriber能够获得消息的一个拷贝。

3、分别对应两种消息模式: 
Point-to-Point (点对点),Publisher/Subscriber Model (发布/订阅者) 
其中在Publicher/Subscriber 模式下又有Nondurable subscription(非持久订阅)和durable subscription (持久化订阅)2种消息处理方式。

fr0m:http://udn.yyuap.com/thread-37813-1-1.html

ActiveMQ 入门Nodejs版的更多相关文章

  1. ActiveMQ入门练习

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久 ...

  2. jms - activeMQ入门案例

    activeMQ入门案例 叨叨一波,很久没写博客了,最近比较慢,时间抽不出来,这个借口说的很尴尬...我知道作为一名合格的码农就必须养成每天一博客的习惯.希望友友们别像我这样懒,闲话不多时进入今天的主 ...

  3. 入门NodeJS

    入门NodeJS https://www.cnblogs.com/dotnetcrazy/p/10118756.html NodeJS 1.环境配置 之前讲ES6的时候有提过一部分Node的知识,简单 ...

  4. 深入浅出 JMS(二) - ActiveMQ 入门指南

    深入浅出 JMS(二) - ActiveMQ 入门指南 上篇博文深入浅出 JMS(一) – JMS 基本概念,我们介绍了消息通信的规范JMS,这篇博文介绍一款开源的 JMS 具体实现-- Active ...

  5. ActiveMQ之一--ActiveMQ入门

    MQ的消费-生产者模型的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息.MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义 ...

  6. ActiveMQ介绍和ActiveMQ入门实例

    ActiveMQ百度百科   ActiveMQ入门实例-cnblogs.com      作者用的是5.5的版本,我测试时用的是5.6,按照作者说的整了一下,走得通

  7. 网易短信接口集成 nodejs 版

    /* name:网易短信服务集成nodejs版: author:zeq time:20180607 test: // checkValidCode('157****6954','284561').th ...

  8. ActiveMQ 入门和与 Spring 整合

    ActiveMQ 入门演示 activemq 依赖 <dependency> <groupId>org.apache.activemq</groupId> < ...

  9. ActiveMQ入门系列三:发布/订阅模式

    在上一篇<ActiveMQ入门系列二:入门代码实例(点对点模式)>中提到了ActiveMQ中的两种模式:点对点模式(PTP)和发布/订阅模式(Pub & Sub),详细介绍了点对点 ...

随机推荐

  1. 【BZOJ1799】[AHOI2009]同类分布(动态规划)

    [BZOJ1799][AHOI2009]同类分布(动态规划) 题面 BZOJ 洛谷 题解 很容易想到数位\(dp\),然而数字和整除原数似乎不好记录.没关系,直接枚举数字和就好了,这样子就可以把整除原 ...

  2. XML解析(DOM、ElementTree)及转换为JSON

    xml.dom篇 DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 S ...

  3. bzoj5281/luogu4377 Talent Show (01分数规划+背包dp)

    就是01分数规划的思路,只不过当把w[i]-r*t[i]>0的选完以后如果w值还没达到要求,那就再01背包dp一下就好了(dp时w值>W的时候就存在W里就不会爆内存了). (跑得很慢..大 ...

  4. bzoj3698 XWW的难题

    题意:给你个n * n的实数矩阵,你需要把它中的每个数上/下取整,并满足如下条件: 每行最后一个数等于前面的和. 每列最后一个数等于前面的和. n行n列的那个元素始终为0,不予考虑. 求满足条件下矩阵 ...

  5. CF 468B Two Sets

    题意: 给定n个正整数与a,b两个集合,求一种方案使得这n个数恰好被分在这两个集合中且集合中无多余的数且若x在a中则A-x在a中,若x在b中则B-x在b中. 题意理解了我好半天... 解法1:并查集. ...

  6. 使用WinDbg下的gflags工具导致程序无法执行

    问题:the system cannot find file **.exe. 解决方法:开始-运行-输入regedit打开注册表编辑器,找到 HKEY_LOCAL_MACHINE/SOFTWARE/M ...

  7. 使用iostat来对linux硬盘IO性能进行检测

    -x显示扩展统计数据 # 每隔1s显示6个统计数据 $ iostat -x 1 6 # 每隔1s显示磁盘sda的6个统计数据 $ iostat -x sda 1 6 # 每隔1s显示设备sda及其分区 ...

  8. Excel:LOOKUP函数的经典用法

    1.逆向查询 下面这个表中,A:C列是员工基础信息表,分别是部门.姓名和职务. ​现在要根据E5单元格中的员工姓名,在这个信息表中查询属于哪个部门,也就是咱们常说的逆向查询,就可以使用LOOKUP函数 ...

  9. git log 查看提交记录,参数:

    git log 查看提交记录,参数:-n (n是一个正整数),查看最近n次的提交信息 $ git log -2 查看最近2次的提交历史记录 -- fileName fileName为任意文件名,查看指 ...

  10. Mysql忘记数据库密码以及用户授权案例展示

    Mysql忘记数据库密码以及用户授权案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大家在学习MySQL时如果很长一段时间不使用密码是不是就忘记MySQL的管理密码啦?这种 ...