ActiveMQ 支持的消息协议讲解

ActiveMQ支持哪些协议

支持的协议

ActiveMQ支持多种协议传输和传输方式,允许客户端使用多种协议连接。
ActiveMQ支持的协议:AUTO、OpenWire、AMQP、Stomp、MQTT
ActiveMQ支持的基础传输方式:VM、TCP、SSL、UDP、Peer、Multicase、HTTP(S)等,以及更高级的Failover、Fanout、Discover、ZeroConf方式。

AcitveMQ的协议连接配置

在${ACTIVEMQ_HOME}/conf/activemq.xml中,通过配置就可以时候用多种传输方式。


数据传输方式

TCP

由于TCP具有可靠性传输的特性,它在ActiveMQ中也是最常使用的一种协议。在默认的配置中,TPC连接的端口为61616。

TCP配置格式

tcp://hostname:port?key=value

TCP配置参数说明

在服务端配置时,参数要以“transport.”开头,客户端连接时,参数省略“transport.”前缀

tcp:localhost:61616?transport.threadName&transport.trace=false&transport.soTimeout=
tcp:localhost:61616?threadName&trace=false&soTimeout=60000

属性 默认值 描述
backlog 5000 等待接收最大连接数
connectionTimeout 30,000 0 表没有超时,负值忽略,>=1才有超时时间 (毫秒)
deamon false 如果为true,则传输线程将以守护进程模式运行。嵌入为true
dynamicManagement false 如果为true,则可以通过JMX管理transportLogger。
ioBufferSize 8 * 1024 协议解析使用的缓冲区的大小
jmxPort 1099 JMX端口(仅客户端有效)
keepAlive false 如果为true,则在Borken链接上启用TCP KeepAlive,以防止连接在TCP级别超时。这不要和InactivityMonitor使用的KeepAliveInfo消息混淆
maximumConnections Integer.MAX_VALUE borker允许的最大socket数量
socketBufferSize 64 * 1024 设置接收的套接字读写缓冲区的大小(以字节为单位)
soLinger Integer.MIN_VALUE 当设置> -1时,设置套接字的选项soLinger;设置为-1时,将禁用soLinger套接字选项。
soTimeou 0 设置套接字的读取超时(以ms为单位),0表示没有超时
soWriterTimeout 0 设置套接字的写取超时(以ms为单位),0表示没有超时
stackSize 0 设置服务端后台读取线程的堆栈大小,必须以128k的倍数指定;值为0表示忽略此参数。
startLongging true true,将传输信息transportLong对象写入日志。仅在tract=true的场景下生效
tcpNoDelay false 如果为true,则设置套接字的选项TCP_NODELAY。这会禁用Nagle的小数据包传输算法。
threadName N/A 指定调用transport的线程名称。例如以服务器Host命名,调试线程的时候可以看到。
trace false 为true时,服务器记录传输发送的所有命令内容。log4j.logger.org.apache.activemq.TransportLogger=DEBUG
trafficClass 0 ip协议级别的服务质量参数。(0x02,0x04,0x08,0x10)
useInactiveltyMonitor true false,则禁用InactivityMonitor,链接永远不会超时
useKeepAlive true true,在空闲链接上发送keepAliveInfo消息,防止它超时。false,指定的时间内没有接收到数据,链接超时。

SSL

需要一个安全连接的时候可以考虑使用SSL,适用于client和borker在公网的情况,如使用aws云平台等,基于TCP优化调整

http://activemq.apache.org/ssl-transport-reference.html

SSL配置格式

可配置参数和TCP相同

ssl://localhost:61616

SSL客户端配置

JMS客户端需要使用ActiveMQSslConnectionFactory类创建连接,borkerUrl以ssl://开头,以下是spring配置示例

<bean id="AMQJMSConnectionFactory" class="org.apache.activemq.ActiveMQSslConnectionFactory">
    <property name="trustStore" value="/path/to/truststore.ts"/>
    <property name="trustStorePassword" value="password"/>
    <property name="keyStore" value="/path/to/truststore.ks"/>
    <property name
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值