ActiveMQ传输协议

半世苍凉 提交于 2020-01-01 13:25:01

ActiveMQ默认的传输协议是TCP

  在activemq的配置文件 /conf/activemq.xml可对配置文件进行修改和查看

     tcp:openwire : 它是默认的

  tcp在网络传输前需要序列化数据,消息通过一个叫wire protocol的来序列化成字节流

  默认情况下ActiveMQ把wire protocol叫做OpenWire,目的是促使网络上的效率和数据快速交互  

  tcp连接的URL:tcp://hostname:port?key=value&key=value,参数可选,如下

    

   

  配置为NIO,因为NIO的性能很好,所以一般都是用NIO

<transportConnectors>
    <transportConnector name="nio" uri="nio://0.0.0.0:61616"/>  
</<transportConnectors>

     官网配置地址:http://activemq.apache.org/configuring-transports

      如果不特别指定ActiveMQ的网络监听端口,这些端口都将使用BIO网络IO模型,如OpenWire,STOMP,AMQP等,

  所以为了为提高吞吐量,我们应该指明为nio

    详细配置NIO:

    1.配置文件加上NIO

   可以看到此时多出了一个nio

  URL修改为:

       URL是以"nio"开头,表示这个端口使用以TCP协议为基础的NIO网络,但是这样的设置方式,只能使这个端口支持OpenWire协议

  怎么让这个端口既支持NIO,又支持多个协议呢?

    使用auto关键字 

    配置详情:http://activemq.apache.org/auto

<transportConnector name="auto+nio" uri="auto+nio://localhost:5671"/>

    参数:

  

     activemq.xml

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!