[JMS 2] ActiveMQ簡單介紹以及安裝

現實的企業中,對於消息通訊的應用一直都很是的火熱,並且在J2EE的企業應用中扮演着特殊的角色,因此對於它研究是很是有必要的。web

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

消息中間件

咱們簡單的介紹一下消息中間件,對它有一個基本認識就好,消息中間件(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實現,它很是快速,支持多種語言的客戶端和協議,並且能夠很是容易的嵌入到企業的應用環境中,並有許多高級功能。網絡

下面咱們下載一個版本,玩一玩。app

下載ActiveMQ

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

運行ActiveMQ服務

  1. 下載,解壓縮 
    你們如今好以後,將apache-activemq-5.11.1-bin.zip解壓縮,咱們能夠看到它的總體目錄結構: 
    這裏寫圖片描述 
    從它的目錄來講,仍是很簡單的: 
    ide

    • 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的魅力。

相關文章
相關標籤/搜索