ActiveMQ传输协议

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

posted @ 2019-09-27 11:48  苏格拉的底牌  阅读(862)  评论(0编辑  收藏  举报