一:簡單介紹
AvtiveMQ是Apaceh所研發的一個開源消息中間件,用來在服務與服務之間進行異步通信,是基於JMS規范的。activemq包含發送者(sender)、消息(message)、隊列(queue)、接收者(receive)。支持常見的點對點和(queue)和發布/訂閱模式(topic)兩種通信模式。支持對消息的持久化等等。
二:安裝
1.下載地址:http://activemq.apache.org/download-archives.html
我選擇的時候5.15.0版本的(所需jdk1.8.0_112),點擊進去界面如圖,選擇windows版本下載。注意:下載版本過高時,本地的jdk有可能版本低,導致啟動時候報錯。
2.下載完成后,解壓。
目錄說明:
bin----存放的是腳本文件
conf----存放的是基本配置文件
data----存放的是日志文件
docs----存放的是說明文檔
examples----存放的是簡單的實例
lib----存放的是activemq所需jar包
webapps----用於存放項目的目錄
進入文件夾bin中,根據自己的系統選擇對應win32還是win64文件夾進入,如下圖:
3.可以看見有一個activemq.bat腳本,右鍵以管理員身份運行。如下圖:
4.可以清楚的看到系統的地址端口號是8161,加上自己本機ip即可:http://127.0.0.1:8161,訪問后來到activemq的控制台,點擊manage activemq broker,彈出登錄頁面,輸入用戶名密碼(都是admin)進行登錄。
如下圖:
5.登陸后可以看到queues 、topics等選項。
簡單介紹下導航欄:
Queues:隊列方式消息。
Topics:主題方式消息。
Subscribers:消息訂閱監控查詢。
Connections:查看鏈接數,分別可以查看xmpp、ssl、stomp、openwire、ws和網絡鏈接。
Network:網絡鏈接數監控。
Scheduled:暫時沒有用到,不太清楚。
Send:發送消息數據
6. 到這里activemq就啟動成功了,那么直接運行activemq.bat這種運行方式,我們的窗口是不能關閉的,這種方式無疑很不方便,所以接下來介紹以服務方式運行的方式。回到我們的bin目錄下面發現還有一個InstallService.bat文件,右鍵以管理員方式運行。運行后,打開我們電腦的服務管理,找到activemq服務,右鍵啟動此服務。
7. 啟動成功,還是訪問http://127.0.0.1:8161,可以看到activemq界面,啟動成功。
三:配置
1.控制台的登錄管理:打開conf文件夾下的jetty.xml,找到如下圖位置,authenticate的vlue設為false則登錄時不需要身份驗證,設為true則需要身份驗證。
那么怎么修改用戶名和密碼呢,打開conf文件夾下的jetty-realm.properties,下拉到最后找到如下圖位置,可以看到對應上圖中的兩個角色對應的用戶名和密碼,修改時注意格式:用戶名,密碼
2.端口號的管理:修改控制台的8161默認端口號,打開conf文件夾下的jetty.xml,找到如下圖位置,修改8161即可。
3.ActiveMQ除了控制台,還有服務端,服務端的配置文件在conf文件夾下的activemq.xml,找到如下圖位置,這里是五種連接服務端方式的配置信息。
簡單了解下tcp這種連接方式:
TCP:ActiveMQ默認的傳輸連接,也是最常用的使用方式。長連接,每個客戶端實例都會與服務器維持一個連接。每個連接一個線程。TCP的優點是:
性能高:ActiveMQ使用默認協議OpenWire序列化和反序列化消息。OpenWire是一個性能很高的序列化協議。
可用性高:TCP是使用最廣泛的技術,幾乎所有的開發語言都支持TCP協議。
可靠性高:TCP協議確保消息不會在網絡傳說的過程中丟失。
4.持久化配置: 配置文件在conf文件夾下的activemq.xml,找到如下圖位置,此處默認配置的是KahaDB存儲方式。
本小節我們已經把activeMq安裝到了我們的電腦上面,並了解了一些常用配置,那么接下來就開始學習怎么去使用它,是怎么實現的消息傳遞的。