共计 1579 个字符,预计需要花费 4 分钟才能阅读完成。
一,介绍
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.
推荐阅读:
Spring+Log4j+ActiveMQ 实现远程记录日志——实战 + 分析 http://www.linuxidc.com/Linux/2015-12/126163.htm
Spring 下 ActiveMQ 实战 http://www.linuxidc.com/Linux/2015-11/124854.htm
Linux 系统下 ActiveMQ 安装 http://www.linuxidc.com/Linux/2012-03/55623.htm
Ubuntu 下的 ACTIVEMQ 服务器 http://www.linuxidc.com/Linux/2008-07/14587.htm
CentOS 6.5 启动 ActiveMQ 报错解决 http://www.linuxidc.com/Linux/2015-08/120898.htm
Spring+JMS+ActiveMQ+Tomcat 实现消息服务 http://www.linuxidc.com/Linux/2011-10/44632.htm
Linux 环境下面 ActiveMQ 端口号设置和 WEB 端口号设置 http://www.linuxidc.com/Linux/2012-01/51100.htm
ActiveMQ 的详细介绍 :请点这里
ActiveMQ 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-05/131792.htm