1. 程式人生 > >JMS之——ActiveMQ的安裝和啟動

JMS之——ActiveMQ的安裝和啟動

一、ActiveMQ簡介

在上一篇博文《JMS之——JMS簡介》中,我們對JMS進行了一些簡單介紹,那麼,現在我就帶著大家一起來實現ActiveMQ的安裝和啟動。同樣,對ActiveMQ做一個簡短的介紹,ActiveMQ是Apache的一款基於Java開發的開源的訊息中介軟體。說起訊息中介軟體,它在企業開發中,扮演著十分重要的角色,那麼它能用來幹什麼呢?訊息中間價又有那些用途和有點呢?

訊息中介軟體有很多的用途和優點:
1. 將資料從一個應用程式傳送到另一個應用程式,或者從軟體的一個模組傳送到另外一個模組;
2. 負責建立網路通訊的通道,進行資料的可靠傳送。
3. 保證資料不重發,不丟失
4. 能夠實現跨平臺操作,能夠為不同作業系統上的軟體整合技工資料傳送服務
訊息中介軟體的用途和有點還有很多很多,在這裡就不一一列舉了。這裡,我們重點講解Apache的ActiveMQ。

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

二、下載安裝ActiveMQ

1、下載ActiveMQ

我們到Apache官方網站下載ActiveMQ,連結為:http://activemq.apache.org/   這裡,我下載的是最新版5.14.4版本,同時,我在CentOS上安裝和啟動ActiveMQ,所以,我下載的是Linux版本的ActiveMQ。下載後的結果如下圖:

2、解壓ActiveMQ

在命令列輸入以下命令對ActiveMQ進行解壓。

tar -zxvf apache-activemq-5.14.4-bin.tar.gz
解壓後的目錄如下:


從它的目錄來說,還是很簡單的:

  • bin存放的是指令碼檔案
  • conf存放的是基本配置檔案
  • data存放的是日誌檔案
  • docs存放的是說明文件
  • examples存放的是簡單的例項
  • lib存放的是activemq所需jar包
  • webapps用於存放專案的目錄

3、啟動ActiveMQ

我們進入bin目錄,輸入如下命令啟動ActiveMQ

./activemq start
啟動後,我們如何知道ActiveMQ啟動成功了呢?輸入以下命令
ps -ef | grep activemq
結果如下:

證明已經啟動成功。

4、測試

ActiveMQ預設監聽的埠是61616,我們輸入以下命令來驗證ActiveMQ是否監聽了61616埠

netstat -lnp|grep 61616
結果如下:


說明ActiveMQ已經監聽了61616埠。

5、監控

ActiveMQ預設啟動時,啟動了內建的jetty伺服器,提供一個用於監控ActiveMQ的admin應用。
admin:http://192.168.50.131:8161/admin/  (我把ActiveMQ安裝到了CentOS上,ip是192.168.50.131,如果你安裝在本機上則路徑是:http://127.0.0.1:8161/admin/)
使用者名稱和密碼都是admin


至此,ActiveMQ的安裝和啟動全部完成。

三、ActiveMQ特性

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

四、什麼情況下使用ActiveMQ?

    1、多個專案之間整合

    (1) 跨平臺
    (2) 多語言
    (3) 多專案

   2、 降低系統間模組的耦合度,解耦

    (1) 軟體擴充套件性

    3、系統前後端隔離

    (1) 前後端隔離,遮蔽高安全區
其實ActiveMQ的應用還有很多,大家可以上網查查,不再一一舉例。