ActiveMQ:传输协议

简介:

ActiveMQ支持的client-broker通讯协议有:TVP、NIO、UDP、SSL、Http(s)、VM。

在上文给出的配置信息中,URI描述信息的头部都是采用协议名称:例如

描述amqp协议的监听端口时,采用的URI描述格式为“amqp://······”;

描述Stomp协议的监听端口时,采用URI描述格式为“stomp://······”;

唯独在进行openwire协议描述时,URI头却采用的“tcp://······”。这是因为ActiveMQ中默认的消息协议就是openwire

支持的传输协议

除了tcp和nio协议,其他的了解就行

tcp后面可以有参数配置:https://activemq.apache.org/tcp-transport-reference

NIO

NIO配置案例

1.在上面的conf/activemq.xml的<transportConnectors>标签中加入

<transportConnector name="nio" uri="nio://0.0.0.0:61618?trace=true"/>  

2.重启activemq.xml

 

启动测试正常生产消息

NIO加强

1.上面是Openwire协议传输底层使用NIO网络IO模型。 如何让其他协议传输底层也使用NIO网络IO模型呢?

2.在上面的conf/activemq.xml的<transportConnectors>标签中加入

<transportConnector name="auto+nio" uri="auto+nio://0.0.0.0:61608?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600&amp;org.apache.activemq.transport.nio.SelectorManager.corePoolSize=20&amp;org.apache.activemq.transport.nio.Se1ectorManager.maximumPoo1Size=50"/>

auto : 针对所有的协议,他会识别我们是什么协议。

nio :使用NIO网络IO模型

修改配置文件后重启activemq。

这样在链接的时候写 nio://   tcp:// 都可以了

 

 

阅读剩余
THE END