ActiveMQ是Apache的一個開源項目,它是一個功能強勁的開源消息總線,也是一個中間件產品,它是JMS的一個實現。
在介紹ActiveMQ之前,先來復習一下J2EE中的JMS規范。JMS 即Java消息服務應用程序接口,是Java Message Service的縮寫,是一個Java平台中關於面向消息中間件(manager of managers,縮寫為MOM)的API,用於在兩個應用程序之間,或分布式系統中發送消息,進行異步通信;我們可以利用它在不同系統和不同的模塊之間實現集成。Java消息服務是一個與具體平台無關的API,絕大多數MOM提供商都對JMS提供支持。 JMS有兩個好處,第一個就是讓模塊之間或者系統之間的耦合度降低,第二個是異步通信。ActiveMQ是一個JMS消息代理的實現。
在介紹ActiveMQ之前,先來復習一下J2EE中的JMS規范。JMS 即Java消息服務應用程序接口,是Java Message Service的縮寫,是一個Java平台中關於面向消息中間件(manager of managers,縮寫為MOM)的API,用於在兩個應用程序之間,或分布式系統中發送消息,進行異步通信;我們可以利用它在不同系統和不同的模塊之間實現集成。Java消息服務是一個與具體平台無關的API,絕大多數MOM提供商都對JMS提供支持。 JMS有兩個好處,第一個就是讓模塊之間或者系統之間的耦合度降低,第二個是異步通信。ActiveMQ是一個JMS消息代理的實現。
JMS的消息機制有兩種模式,一種是點對點(Point to Point,一對一)消息模式,表現為隊列的形式;發送的消息,只能被一個接收者接收。另一種是發布/訂閱消息模式(一對多),可以被多個訂閱者訂閱,類似於群發。
軟件環境
- ActiveMQ 5.15.13
- java version 13.0.1
- IntelliJ IDEA 2019.3.2 (Ultimate Edition)

注意:5系列的版本最好使用JDK8及以上, 低於JDK8可以使用4.x。
2、下載和啟動
下載之后,解壓apache-activema-5.15.13-bin.zip包,進入bin目錄:

請確保系統已經安裝Java 8或者以上版本。在bin目錄發現有 win 32 和 win 64 兩個文件夾,這2個文件夾分別對應 windows 32 位和 windows 64 位操作系統的啟動腳本。
選擇系統對應的版本,例如電腦是64位的,則進入win64文件夾,找到啟動腳步activemq.bat,雙擊即可啟動。

啟動成功后,Shell窗口視圖如下:

截圖中容易找到日志信息 Connector ws Started。
3、啟動成功訪問
啟動完畢后,在瀏覽器地址欄輸入http://localhost:8161/admin ,打開ActiveMQ的管理界面。默認用戶名密碼為admin、admin,這個用戶名密碼是在conf/users.properties中配置的。輸入用戶名密碼后即可訪問到如下管理界面,
ActiveMQ中,61616為消息代理的端口,采用TCP協議發送;8161為管理界面的端口,采用內嵌jetty服務器。

下面在頁面 http://localhost:8161/admin/queues.jsp看一下隊列消息消費情況:
其中
-
Name列的 myDest.queue 就是隊列的名字;是自定義的。
-
Number Of Pending Messages 表示收到的消息數量;
-
Number Of Consumers 表示目前實時等待的消費者請求數量;
-
Messages Enqueued 表示被存儲的數量-Queue類型數據沒有消費者消費將先被 ActiveMQ 存儲起來;
-
Messages Dequeued 表示被消耗的消息數。
Reference
- https://www.cnblogs.com/DFX339/p/9050878.html
- https://yq.aliyun.com/articles/647403?spm=a2c4e.11153940.0.0.3ba613c2O0IpNw