一,介绍

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. docker之compose 编排项目

    一.docker-compose 的介绍 docker-compose是一种容器编排工具,可以将多个docker容器关联部署.通过yaml文件,可以描述应用的架构,如使用什么镜像.数据卷.网络.绑定服 ...

  2. 修炼内功_day01

    测试六段:    测试第一段:        - 能根据测试用例的描述步骤来执行用例        - 能对照用例的预期结果发现产品的问题        - 能够清晰准确的将问题记录下来后反馈给开发, ...

  3. MVC模式简单的Xml文档解析加Vue渲染

    前端代码: <script src="~/Js/jquery-3.3.1.min.js"></script> <script src="~/ ...

  4. 在Ubuntu虚拟机上安装DVWA

    学习资料来源:https://www.neddos.tech/?p=107 最后更新时间: 190122·17:41 1> 什么是DVWA(Damn Vulnerable Web Applica ...

  5. webpack简单原理及用法

    前言 如果你已经对Webpack精通了或者至少一直在工作中使用它,请关闭当前浏览器标签,无视这篇文章. 这篇文章本意是写给我自己看的,作为一篇Cookbook供快速查询和上手用.原因是虽然工作中会涉及 ...

  6. Alpha阶段个人贡献分及转会人员确定

    请各个团队协商确定个人贡献分,评分根据之前个团队确定的规则进行.每个团队的个人贡献分总数为50*N,N为团队的人数. 个人贡献分要求:必须是一个自然数,每个人分数互不相同,并且和为50*N. 请各个团 ...

  7. Daily Scrumming* 2015.12.8(Day 1)

    一.团队scrum meeting照片 二.今日总结 姓名 WorkItem ID 工作内容 签入链接以及备注说明  江昊 任务942 学习使用github,在github上建立组织并将所有队员纳入, ...

  8. 20135337朱荟潼 Linux第五周学习总结——扒开系统调用的三层皮(下)

    朱荟潼 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课http://mooc.study.163.com/course/USTC 1000029000 一.学习内容 (一 ...

  9. ajax异步导致js方法顺序执行不了

    js两个方法调用的顺序,有时候是这样的 f1(); f2(); 本来是先执行f1的,但是如果f1里面进行ajax异步    async:true,那么可能会先执行f2,如果想要顺序执行,那么就把异步设 ...

  10. DirectoryEntry_Properties属性的遍历(win2008)

    DirectoryEntry root = new DirectoryEntry(@"IIS://localhost/W3SVC"); string PInfo = "& ...