activeMQ-11activeMQ传输协议
2020-02-06 本文已影响0人
誓俭草
- activeMQ传输协议:
1)默认使用TCP协议;
2)支持的协议有:TCP、NIO、UDP、SSL、HTTPS、VM、WS;
3)activeMQ中的openwire协议就是对应的TCP协议;【原理】:mq将消息序列化形成字节流此过程称为openwire;【目的】:促使网络上的效率和数据快速交互; - 主要说下:TCP、NIO
1)tcp特点:
[1]:传输可靠性高,稳定性强;
[2]:高效性,字节流传输,效率很高;
[3]:有效性,可用性:应用广泛,支持任何平台;
2)nio特点:基于TCP协议之上,进行了扩展和优化,具有更好的性能; - NIO协议的使用
1)首先需要修改activeMq服务的配置文件:在服务conf文件夹下的activemq.xml中,找到<transportConnenctors>标签中添加配置项:
<transportConnector name="nio" url="nio://0.0.0.0:61618?trace="true" />
这样端口号就成为了:61618;
此事代码中的服务地址就成为了:url=nio://localhost:61618;
2)也可以配置为auto+nio,此方式支持多种协议的nio方式:
具体举例添加配置如下:
<transportConnector name="auto+nio" url="auto+nio://0.0.0.0:61608?maxinumConnections=1000&wireFormat.maxFrameSize=104857600&org.apache.activemq.transport.nio.SelectorManager.corePoolSize=20&org.apache.activemq.transport.nio.SelectorManager.maximumPoolSize=50" />
配置此文件重启mq服务后,后台代码url配置【nio://ip:61608】、【tcp://ip:61608】这两个url都行;