1. 什么时候用activeMQ

在大量场合,ActiveMQ和异步消息对系统架构有意味深长的影响。下面举一些例子:

1). 异构系统集成

2). 取代RPC

3). 应用间的解耦

4). 事件驱动架构的后台

5). 提升应用的可扩展性

2. 使用

版本5.13.2

1). 进入bin目录,启动

activemq.bat start

之前很多文档介绍是 activemq即可,我试了5.13.2这个版本不行。

2). 连接

经过网络连接

tcp: uri=”tcp://localhost:61616?trace=true”

nio:  uri=”nio:localhost:61618?trace=true”

http: uri=”http://locahost:8080?trace=true”

虚拟机内部连接

vm://brokerName?trace=true

3. 队列和主题消息的区别

“JMS 主题从一个 JMS 客户接收消息然后将这些消息分发给所有注册为主题监听者的 JMS 客户。相反,JMS 队列只将消息分发给一个客户,不管有多少客户注册为队列监听者。如果两个或者多个客户注册到一个队列,同时一个消息存储在队列中,那么只有一个客户能接收到这个消息。”

ref

看<<Java Message Service>>书中的这个图能非常清晰的描述这一点。

这个图能说明jms的api的组织结构

4. TopicPublisher与MessageProducer关联区别

TopicPublisher是MessageProducer的子类。

我们在发topic消息的时候,既可以用MessageProducer也可以用TopicPublisher

对应队列来看,MessageProducer还有个子类QueueSender,用于发送队列消息

MQ基础的更多相关文章

  1. MQ基础知识学习

    之前听人提起了MQ协议,我就去稍微了解了一下什么是MQ,和MQ的一些基础性的知识. 什么是MQ呢? 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据 ...

  2. Rabbit MQ 基础入门

    Rabbit MQ 学习(一)基础入门 简介 RabbitMQ 简介 为什么选择 RabbitMQ RabbitMQ 的模型架构是什么? AMQP 协议是什么? AMQP 常用命令 概念 生产者和消费 ...

  3. (转)WebSphere MQ基础命令

    --查看MQ版本-- dspmqver --查看队列状态--dspmq --创建队列管理器--crtmqm -q ECIS_QM --删除队列管理器--dltmqm ECIS_QM --启动队列管理器 ...

  4. MQ基础概念和介绍

    一.中间件 MQ是一种中间件产品,至于什么是中间件,中间件能干什么,参见以下链接: http://baike.baidu.com/view/23710.htm 二.WebSphere MQ的原理 We ...

  5. spring boot 中 rabbit mq基础例子

    1.先安装ELANG,再按照RabbitMQ 2.打开RabbitMQ控制台:rabbit command prompt 1.设置elang的路径:set ERLANG_HOME=D:\work_pr ...

  6. rabbit mq 基础流程(转)

    从AMQP协议可以看出,MessageQueue.Exchange和Binding构成了AMQP协议的核心,下面我们就围绕这三个主要组件    从应用使用的角度全面的介绍如何利用Rabbit MQ构建 ...

  7. Java语言快速实现简单MQ消息队列服务

    目录 MQ基础回顾 主要角色 自定义协议 流程顺序 项目构建流程 具体使用流程 代码演示 消息处理中心 Broker 消息处理中心服务 BrokerServer 客户端 MqClient 测试MQ 小 ...

  8. mq_学习_00_资源帖

    一.精选 二.参考资料-基础 JMS(Java消息服务)入门教程 Sun Java System Message Queue 3.7 UR1 技术概述 消息队列-推/拉模式学习 & Activ ...

  9. RabbitMQ:从零开始

    目录 一.介绍 二.安装 三.基本配置 四.Java Demo 五.基础API使用 六.ACK机制 七.消息的持久化 八.消息的公平分发 九.消息的优先级 十.消息的路由分发 十一.Spring集成 ...

随机推荐

  1. [ZZ] cbuffer和tbuffer

    http://blog.chinaunix.net/uid-20235103-id-2578297.html Shader Model 4支持的新东西,通过打包数据可以获得更好的性能.原文转发:Sha ...

  2. twitter storm源码走读之6 -- Trident Topology执行过程分析

    欢迎转载,转载请注明出处,徽沪一郎. TridentTopology是storm提供的高层使用接口,常见的一些SQL中的操作在tridenttopology提供的api中都有类似的影射.关于Tride ...

  3. ifarm 子 父页面方法如何互调

    1.iframe子页面调用父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,就写成: 代码如下: window.parent.a(); 子页面取父页 ...

  4. Visual Studio 2008破解激活升级方法

    声明:本文中涉及到的序列号及更新方法均来自互联网,请支持正版. 微软为业余爱好者.热衷者和学生提供了免费版——Express Edition (轻型.易学.易用的开发工具). 如不想支付任何费用,建议 ...

  5. Android TextView 显示不全的自动补齐方式

    TextView在Android开发中用到的地方应该是很多的.很多时候,TextView会有一行显示不全被截取或者会换行.之前我的解决办法比较笨拙,定死TextView的一行字数长度,最后一个以省略号 ...

  6. trunc sysdate

    select *  from per_all_people_f papf where trunc(sysdate) between trunc(papf.effective_start_date) a ...

  7. Erlang ERTS的Trap机制的设计及其用途

    出处:http://mryufeng.iteye.com/blog/334744 erlang的trap机制在实现中用的很多,在费时的BIF操作中基本上都可以看到.它的实现需要erl vm的配合.它的 ...

  8. DPM总结

    DPM:Deformable Parts Model(来自http://www.cs.berkeley.edu/~rbg/latent/index.html) 目标检测算法 先计算梯度方向直方图,在用 ...

  9. 【转】Android Canvas绘图详解(图文)

    转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html Android Canvas绘图详解(图文) 泡 ...

  10. C++经典编程题#1:含k个3的数

    总时间限制:  1000ms 内存限制:  65536kB 描述 输入两个正整数 m 和 k,其中1 < m < 100000,1 < k < 5 ,判断 m 能否被19整除, ...