1. 預備知識
1.1 JMS
JMS(Java Messaging Service)是Java平台上有關面向消息中間件(MOM)的技術規范。<百科>
1.2 JMX
JMX(Java Management Extensions,即Java管理擴展)是一個為應用程序、設備、系統等植入管理功能的框架。<百科>
1.3 訂閱者模式
一種設計模式,存在生產者和消費者兩種角色,多個消費者訂閱生產者的內容,生產者產生內容后分發到各個消費者中。
2. ActiveMQ
2.1 簡介
ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規范的 JMS Provider實現,盡管JMS規范出台已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演着特殊的地位。
2.2 安裝啟動及測試使用
安裝方式有多種,這里選擇 Binary Installation.
2.1.1 Windows
a. 下載zip壓縮包
下載地址:http://archive.apache.org/dist/activemq/
在此地址下,選擇自己要使用的版本,進入到指定的文件夾下,選擇zip壓縮包,下載;
由於我使用Spring版本的原因,我使用如下activemq版本:
b. 將壓縮包放到指定目錄下,解壓。
c. 啟動
打開cmd,進入到%ACTIVEMQ_HOME%\bin目錄下,使用命令:
activemq start //打開服務
打開后有如下提示,即已正確啟動:
d. 測試
瀏覽器進入到127.0.0.1:8161,activemq控制台,可查看activemq中的各消息信息;
用戶名:admin
密碼:admin
用戶名和密碼在%ACTIVEMQ_HOME%\conf中的jetty-realm.properties中配置。如下:
e. 啟動中遇到的問題及解決方案
Q1. 端口被占用
A1. activemq的默認端口為:61616
此端口可能被windows的某種服務占用掉,所以需要修改activemq的默認端口;
進入到%ACTIVEMQ_HOME%\conf中的actviemq.xml中修改61616位61618(此端口可為任意未被占用端口)即可;
<transportConnectors> <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> <transportConnector name="openwire" uri="tcp://0.0.0.0:61618?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/><!-- 此處修改端口為:61618 --> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> </transportConnectors>
Q2. 將%ACTIVEMQ_HOME%\bin寫入環境變量中
A2. 可避免每次啟動服務需cmd進入指定文件夾下命令操作。
2.1.2 Liunx
Liunx的安裝基本和widows相似,基本思路可以理解為:
1.下載壓縮包
2.解壓
3.在%ACTIVEMQ_HOME%\bin目錄下啟動服務。
a. 下載壓縮包
由於我使用wget命令一致無法找到資源,所以就使用瀏覽器下載資源,然后上傳到服務器的指定目錄下:
下載地址:http://archive.apache.org/dist/activemq/
進入到相應的版本下,選擇.tar.gz壓縮包下載,由於我使用的Spring版本,我選擇如下activemq版本:
b. 使用命令解壓縮
tar zxvf apache-activemq-5.10.2-bin.tar.gz
c. 啟動服務
進入到 %ACTIVEMQ_HOME%\bin 目錄下,使用命令啟動服務:
./activemq start
d. 進入服務器web控制台
web控制台鏈接:192.168.1.100:8161,可在控制台查看和操作activemq消息
賬號:admin
密碼:admin
可在%ACTIVEMQ_HOME%\conf中jetty-realm.properties設置賬號密碼。
參考資料:
1. http://activemq.apache.org/getting-started.html