标签:
一,介绍
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.
标签:
原文地址:http://www.cnblogs.com/hapjin/p/5526292.html