一,介绍

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. Asp.Net_Get跟Post

    1. Get(即使用QueryString显式传递)     方式:在url后面跟参数.     特点:简单.方便.     缺点:字符串长度最长为255个字符:数据泄漏在url中.     适用数据 ...

  2. Ps矩形工具的运用

    矩形工具 1.标识位置以及快捷键 位于左侧工具栏中,快键键是u,根据需求选择里面包含的工具 2.使用方法 鼠标左键点击工具,直接在图层使用,点击后拖住不放选择想要的图形后松手即可. 可以根据自身的需求 ...

  3. manjaro安装软件

    fcitx 安装以下包 fcitx-googlepinyin kcm-fcitx 安装了输入法之后,还要在/etc/profile或~/.xprofile里添加如下内容: export GTK_IM_ ...

  4. 英特尔和 Valve* 将英特尔® Embree 光线追踪技术添加至全新 Steam* Audio 插件

    本文从英特尔® Embree 光线追踪技术着手,深入探讨英特尔与 Valve 合作带来的优势:一方面,开发人员使用英特尔高度优化的库创建场景,可以显著加快编译速度:另一方面,逼真的声效可以增强游戏性, ...

  5. CryptoZombies学习笔记——Lesson2

    第二课是僵尸猎食,将把app变得更像一个游戏,添加多人模式,建立更多创造僵尸的方法. chapter1 依然是简介 chapter2:映射和地址 映射相当于一个索引,指向不同地址,不同地址存储的数据不 ...

  6. [T-ARA][놀아볼래?][要玩吗]

    歌词来源:http://music.163.com/#/song?id=22704479 作曲 : 赵英秀/김태현 [作曲 : 赵英秀/k/gim-Tae-hyeon] 作词 : 安英民 [作词 : ...

  7. ace -- about

    Built for Code Ace is an embeddable code editor written in JavaScript. It matches the features and p ...

  8. Thymeleaf 学习笔记

    (一)Thymeleaf 是个什么? 简单说, Thymeleaf 是一个跟 Velocity.FreeMarker 类似的模板引擎,它可以完全替代 JSP .相较与其他的模板引擎,它有如下三个极吸引 ...

  9. 第一章:帝国的余晖 AT&T公司

    启示:自己的想法,有好的技术比什么都重要,一定要注意的是技术,不要贪小便宜,明白自己最先关心的的哪个事情. 书中内容:没有人能活两百岁,也没有公司能辉煌两百年,这就是规律,很难超越.

  10. 读C#程序

    阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...