天天看點

SpringBoot整合ActiveMq教程

SpringBoot整合ActiveMq教程

下載下傳位址: http://activemq.apache.org/download.html,

​ 可以下載下傳windows版本,也可以下載下傳linux版本

ActiveMQ部署其實很簡單,和所有Java一樣,要跑java程式就必須先安裝JDK并配置好環境變量,這個很簡單。然後解壓下載下傳的apache-activemq-5.10-20140603.133406-78-bin.zip壓縮包到一個目錄,得到解壓後的目錄結構如下圖:

SpringBoot整合ActiveMq教程

進入bin目錄,發現有win32和win64兩個檔案夾,這2個檔案夾分别對應windows32位和windows64位作業系統的啟動腳本。

SpringBoot整合ActiveMq教程

我的實驗環境是windows64位,就進入win64目錄,會看到如下目錄結構。

SpringBoot整合ActiveMq教程

其中activemq.bat便是啟動腳本,輕按兩下啟動。

SpringBoot整合ActiveMq教程

ActiveMQ預設啟動到8161端口,啟動完了後在浏覽器位址欄輸入:[http://localhost:8161/admin]

要求輸入使用者名密碼,預設使用者名密碼為admin、admin,這個使用者名密碼是在conf/users.properties中配置的。輸入使用者名密碼後便可看到如下圖的ActiveMQ控制台界面了。

SpringBoot整合ActiveMq教程

接下來,介紹一下Queues下的控制台

SpringBoot整合ActiveMq教程

Number Of Pending Messages 等待消費的消息 這個是目前未出隊列的數量。可以了解為總接收數-總出隊列數

Number Of Consumers 消費者 這個是消費者端的消費者數量

Messages Enqueued 進入隊列的消息 進入隊列的總數量,包括出隊列的。 這個數量隻增不減

Messages Dequeued 出了隊列的消息 可以了解為是消費者消費掉的數量

(解釋:這個要分兩種情況了解

在queues裡它和進入隊列的總數量相等(因為一個消息隻會被成功消費一次),如果暫時不等是因為消費者還沒來得及消費。

在 topics(類似于釋出訂閱模式,可以一個生産者對應多個消費者)裡 它因為多消費者進而導緻數量會比入隊列數高。)

簡單的了解上面的意思就是

當有一個消息進入這個隊列時,等待消費的消息是1,進入隊列的消息是1。

當消息消費後,等待消費的消息是0,進入隊列的消息是1,出隊列的消息是1.

在來一條消息時,等待消費的消息是1,進入隊列的消息就是2.

沒有消費者時 Pending Messages 和 入隊列數量一樣

有消費者消費的時候 Pedding會減少 出隊列會增加

到最後 就是 入隊列和出隊列的數量一樣多

以此類推,進入隊列的消息和出隊列的消息是池子,等待消費的消息是水流。

安裝過程比較簡單, 在centos中, 解壓出來, 就算是安裝好了

運作方法:

SpringBoot整合ActiveMq教程

運作起來後, 可以通過 ip:8161 來檢視是否成功.

SpringBoot整合ActiveMq教程

點選紅框中的連結, 會出現登入彈框, 賬号密碼預設都是admin.

SpringBoot整合ActiveMq教程

先定義一些常量存放在一個類中:

消息的生産者:

消息的消費者: 可以看到下面的各個方法上都有一個 @JmsListener注解,時時刻刻監聽着對應的隊列,一旦對列裡面有消息傳來,就立馬消費

繼續閱讀