1. 程式人生 > >深入淺出JMS(二)--ActiveMQ簡單介紹以及安裝

深入淺出JMS(二)--ActiveMQ簡單介紹以及安裝

實現 str ring 成功 gin bat 發的 優點 blog

上篇博文深入淺出JMS(一)–JMS基本概念,我們介紹了消息通信的規範JMS,我們這篇博文介紹一款開源的JMS具體實現——ActiveMQ。ActiveMQ是一個易於使用的消息中間件。

消息中間件

我們簡單的介紹一下消息中間件,對它有一個基本認識就好,消息中間件(MOM:Message Orient middleware)。

消息中間件有很多的用途和優點:
1. 將數據從一個應用程序傳送到另一個應用程序,或者從軟件的一個模塊傳送到另外一個模塊;
2. 負責建立網絡通信的通道,進行數據的可靠傳送。
3. 保證數據不重發,不丟失
4. 能夠實現跨平臺操作,能夠為不同操作系統上的軟件集成技工數據傳送服務

MQ

首先簡單的介紹一下MQ,MQ英文名MessageQueue,中文名也就是大家用的消息隊列,幹嘛用的呢,說白了就是一個消息的接受和轉發的容器,可用於消息推送。

下面進入我們今天的主題,為大家介紹ActiveMQ:

ActiveMQ

簡要概述ActiveMQ

Apache ActiveMQ ? is the most popular and powerful open source messaging and Integration Patterns server.
Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. 

ActiveMQ是由Apache出品的,一款最流行的,能力強勁的開源消息總線。ActiveMQ是一個完全支持JMS1.1和J2EE 1.4規範的 JMS Provider實現,它非常快速,支持多種語言的客戶端和協議,而且可以非常容易的嵌入到企業的應用環境中,並有許多高級功能。

下面我們下載一個版本,玩一玩。

下載ActiveMQ

官方網站:http://activemq.apache.org/
現在ActiveMQ最新的版本是5.11.1,下載挺簡單的,就不再截圖了。

運行ActiveMQ服務

  1. 下載,解壓縮
    大家現在好之後,將apache-activemq-5.11.1-bin.zip解壓縮,我們可以看到它的整體目錄結構:
    技術分享

    從它的目錄來說,還是很簡單的:
    • bin存放的是腳本文件
    • conf存放的是基本配置文件
    • data存放的是日誌文件
    • docs存放的是說明文檔
    • examples存放的是簡單的實例
    • lib存放的是activemq所需jar包
    • webapps用於存放項目的目錄
  2. 啟動ActiveMQ
    我們了解activemq的基本目錄,下面我們運行一下activemq服務,雙擊bin目錄下的activemq.bat腳本文件或運行自己電腦版本下的activemq.bat,就可以看下圖的效果。
    技術分享

從上圖我們可以看到activemq的存放地址,以及瀏覽器要訪問的地址.
3. 測試

ActiveMQ默認使用的TCP連接端口是61616, 通過查看該端口的信息可以測試ActiveMQ是否成功啟動 netstat -an|find “61616”

C:\Documents and Settings\Administrator>netstat -an|find "61616" 
TCP     0.0.0.0:61616     0.0.0.0:0       LISTENING

4. 監控
ActiveMQ默認啟動時,啟動了內置的jetty服務器,提供一個用於監控ActiveMQ的admin應用。
admin:http://127.0.0.1:8161/admin/

用戶名和密碼都是admin

技術分享
5. 至此,服務端啟動完畢

停止服務器,只需要按著Ctrl+Shift+C,之後輸入y即可。

我們簡單說說ActiveMQ特性,網上很多,只是為了保證博文的完整。

ActiveMQ特性列表

  1. 多種語言和協議編寫客戶端。語言: Java, C, C++, C#, Ruby, Perl, Python, PHP。應用協議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
  2. 完全支持JMS1.1和J2EE 1.4規範 (持久化,XA消息,事務)
  3. 對Spring的支持,ActiveMQ可以很容易內嵌到使用Spring的系統裏面去,而且也支持Spring2.0的特性
  4. 通過了常見J2EE服務器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的測試,其中通過JCA 1.5 resource adaptors的配置,可以讓ActiveMQ可以自動的部署到任何兼容J2EE 1.4 商業服務器上
  5. 支持多種傳送協議:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
  6. 支持通過JDBC和journal提供高速的消息持久化
  7. 從設計上保證了高性能的集群,客戶端-服務器,點對點
  8. 支持Ajax
  9. 支持與Axis的整合
  10. 可以很容易得調用內嵌JMS provider,進行測試

什麽情況下使用ActiveMQ?

  1. 多個項目之間集成
    (1) 跨平臺
    (2) 多語言
    (3) 多項目
  2. 降低系統間模塊的耦合度,解耦
    (1) 軟件擴展性
  3. 系統前後端隔離
    (1) 前後端隔離,屏蔽高安全區

其實ActiveMQ的應用還有很多,大家可以上網查查,不再一一舉例。

總結

ActiveMQ並不難,具有很多的優勢。

下篇博文,我們做一個簡單實例,真正的體會一把ActiveMQ的魅力。

深入淺出JMS(二)--ActiveMQ簡單介紹以及安裝