一,介绍

ActiveMQ的Transport Connectors 是什么?

ActiveMQ是一个消息服务器。作为消息服务器,就会有生产者和消费者来使用它。生产者将消息发送给ActiveMQ,消费者从ActiveMQ取消息。因此,不管是生产者还是消费者,都需要与ActiveMQ建立连接,从而交换消息。生产者和消息者都可以视为ActiveMQ的Client

ActiveMQ提供了很多种方式让Client连接它。比如,Client可以使用TCP、UDP、SSL、HTTP等多种方式连接到ActiveMQ,这些连接方式就是:Transport Connectors

由于在项目中用的是TCP连接方式,故这里主要记录下TCP Transport Connector的一些相关知识。

二,TCP Transport Connector

要想进行连接,需要一个地址(URI),配置TCP连接的URI格式如下:

query部分可以自带很多参数,这些参数是Transport Options,它们可以设置底层TCP传输的一些行为:比如,连接超时时间、TCP连接的队列大小....更多的Transport Options可参考官网

由于ActiveMQ支持多种不同的连接方式,故可以在其配置文件中看到相关的配置。配置文件是 conf/activemq.xml。下面就是我用到的ActiveMQ的配置文件:

可以看出,上面配置文件指出:ActiveMQ支持各种连接协议:TCP,AMQP,STOMP...其实这与上面提到的SSL、HTTP并不冲突,SSL、HTTP只是更底层罢了。

关于各个协议的具体介绍,可参考:

消息在网络之间是以字节流的形式传递的。因此,需要将消息序列化,那采用TCP形式的Connector时,它的序列化方式又是怎样的呢?

序列化的格式是由 wire 协议定义的。比如上图中的 openwire。关于wire协议的更多内容可参考官方文档

How messages are serialized from and to a byte-sequence is defined by the wire protocol.  the TCP transport connector is used to exchange messages serialized to OpenWire wire format over the TCP network.

ActiveMQ Transport Connectors的更多相关文章

  1. activemq 实战 四 传输连接器-Transport connectors 4.2

    In order to exchange messages, producers and consumers (clients) need to connect to the broker. This ...

  2. org.apache.activemq.transport.InactivityIOException: Cannot send, channel has already failed

    项目是使用activeMQ 发布订阅的模式,在本地测试正常,但是 放到服务器上出现这个错误: org.apache.activemq.transport.InactivityIOException: ...

  3. Java Message Service学习(一)

    一,背景 近期需要用到ActiveMQ接收Oozie执行作业之后的返回结果.Oozie作为消息的生产者,将消息发送给ActiveMQ,然后Client可以异步去ActiveMQ取消息. ActiveM ...

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

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

  5. ActiveMQ入门

    ActiveMQ简介 概要 开源 JMS-compliant 消息中间件message-oriented middleware(MOM) 松耦合,相对于RPC的紧耦合 发送消息fire-and-for ...

  6. apache activemq 学习笔记

    0.activemq的概念 activemq实现了jms(java Message server),用于接收,发送,处理消息的开源消息总线. 1.activemq和jms的区别 jms说白了就是jav ...

  7. ActiveMQ持久化消息

    ActiveMQ的另一个问题就是只要是软件就有可能挂掉,挂掉不可怕,怕的是挂掉之后把信息给丢了,所以本节分析一下几种持久化方式: 一.持久化为文件 ActiveMQ默认就支持这种方式,只要在发消息时设 ...

  8. 消费者端的Spring JMS 连接ActiveMQ接收生产者Oozie Server发送的Oozie作业执行结果

    一,介绍 Oozie是一个Hadoop工作流服务器,接收Client提交的作业(MapReduce作业)请求,并把该作业提交给MapReduce执行.同时,Oozie还可以实现消息通知功能,只要配置好 ...

  9. ActiveMQ.xml文件的主要配置

    ActiveMQ.xml文件默认位置位于 activemq/conf/目录下,主要的配置及解析如下:<beans xmlns="http://www.springframework.o ...

随机推荐

  1. How to export data from Thermo-Calc 如何从Thermo-calc导出文本数据

    记录20180510 问题:如何从thermo-calc导出文本数据供origin绘图? 解决: In Thermo-Calc graphical mode, you can just add a ' ...

  2. PHP 观察者模式和php实现 Observer Pattern

    观察者模式: 观察者模式(Observer Pattern):定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新.观察者模式又叫做发布-订阅(Publ ...

  3. React Router学习

    React Router教程 本教程引用马伦老师的的教程 React项目的可用的路由库是React-Router,当然这也是官方支持的.它也分为: react-router 核心组件 react-ro ...

  4. centos 64位 下hadoop-2.7.2 下编译

    centos 64位 下hadoop-2.7.2 下编译 由于机器安装的是centos 6.7 64位 系统  从hadoop中下载是32位  hadoop 依赖的的库是libhadoop.so 是3 ...

  5. App 添加权限

    配置好了

  6. 2013长春网赛1001 hdu 4759 Poker Shuffle

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4759 题意:有一堆2^n的牌,牌原先按(1,2,....k)排序,每一次洗牌都将牌分成两种情况:(1, ...

  7. css后代选择器 .属性 元素 与 元素.属性的区别

    经常看见css的后代选择器是这样的写法: div.class   和 .class div 的形式两者的区别: div.class  是选中的类名为class 的div元素,与直接使用类选择器.cla ...

  8. 【Revit API】创建共享参数

    话不多说,直接上代码 var app = doc.Application; app.SharedParametersFilename = sharedParamFilePath; Definition ...

  9. 【BZOJ1201】[HNOI2005]数三角形(暴力)

    [BZOJ1201][HNOI2005]数三角形(暴力) 题面 BZOJ 洛谷 题解 预处理每个点向四个方向可以拓展的最大长度,然后钦定一个点作为三角形的某个顶点,暴力枚举三角形长度,检查这样一个三角 ...

  10. BZOJ 1412 [ZJOI2009]狼和羊的故事 | 网络流

    显然是个最小割嘛! 一开始我是这么建图的: 源点向狼连INF 羊向汇点连INF 每两个相邻格子间连双向边,边权为1 然后T成狗 后来我是这么建图的: 源点向狼连INF 羊向汇点连INF 狼和空地向相邻 ...