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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM