ActiveMQ Classic 命令列工具參考

 常見問題 > 使用 Apache ActiveMQ Classic > ActiveMQ Classic 命令列工具參考

命令列工具

目前的腳本包含管理 activemq 的所有功能。

在 5.4.1 之前的版本中,除了控制服務本身之外的一些管理功能是「activemq-admin」腳本的一部分。
此腳本目前仍然是發行版本的一部分,以便為 Windows 用戶提供此功能的存取權限-

在 5.0 之前的版本中,activemq-admin 腳本的功能分散在多個腳本中,例如

  • shutdown - 關閉 activemq broker
  • list - 列出指定 JMX 環境中的所有執行中的 brokers
  • query - 查詢 JMX 環境以獲取 broker 統計資料和資訊
  • bstat - 顯示實用 broker 統計資料的預定義查詢
  • browse - 瀏覽特定佇列的訊息
  • purge - 刪除符合訊息選擇器的選定目標的訊息

activemq 腳本

此腳本的說明適用於 Windows 平台。對於 Unix 平台,它適用於 5.4.0 之前的 broker 版本。在 5.4.0 及更新版本中,ActiveMQ Classic 隨附增強的 Unix Shell Script

腳本名稱 activemq.bat, activemq
任務使用 activemq [選項] [組態]java -jar run.jar start [選項] [組態]
說明 通過指定 broker 組態檔案或通過 broker URI 組態來執行 activemq broker 的腳本。

選項

選項名稱 語法 範例 說明
系統定義選項 -D= -Dactivemq.home=c:/ActiveMQ 設定系統屬性。例如,Systems.getProperty(“activemq.home”); 將返回 c:/ActiveMQ
說明選項 -h 或 -? 或 –help activemq –help 顯示 activemq 腳本的說明訊息。
版本選項 –version activemq –version 顯示 activemq 版本資訊。

範例

範例 說明
activemq 使用預設的 'xbean:activemq.xml' 作為 broker 組態檔案執行 broker。
activemq xbean:myconfig.xml 使用位於類別路徑中的 myconfig.xml 檔案作為 broker 組態檔案執行 broker。
activemq xbean:file:./conf/broker1.xml 使用位於相對檔案路徑 ./conf/broker1.xml 中的 broker1.xml 檔案作為 broker 組態檔案執行 broker。
activemq xbean:file:C:/ActiveMQ/conf/broker2.xml 使用位於絕對檔案路徑 C:/ActiveMQ/conf/broker2.xml 中的 broker2.xml 檔案作為 broker 組態檔案執行 broker。
activemq broker:(tcp://127.0.0.1:61616, tcp://127.0.0.1:5000)?useJmx=true 執行具有兩個傳輸連接器和 JMX 已啟用的 broker。¹
activemq broker:(tcp://127.0.0.1:61616, network:tcp://127.0.0.1:5000)?persistent=false 執行具有 1 個傳輸連接器和 1 個網路連接器且已停用持久性的 broker。¹

有關如何使用 broker URI 進行設定的詳細資訊,請參閱: Broker 組態 URI

activemq-admin

從 ActiveMQ Classic 5.x 開始,上述獨立公用程式已併入 activemq-admin 命令(activemq 腳本除外),如下所示

每個任務的語法仍然如下所述。另請注意,仍支援 activemq 命令。

停止任務

任務名稱 stop
任務使用 activemq-admin stop [選項] [broker 名稱]
說明 用於停止正在執行的 activemq broker 的腳本。此任務需要啟用 JMX。

選項

選項名稱 語法 範例 說明
停止全部選項 –all stop –all 停止指定 JMX 環境中所有已註冊的 brokers
JMX URL 選項 –jmxurl –jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi 變更要連線的 JMX 服務 URL。預設情況下,它會連線到:service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi
JMX 驗證選項 –jmxuser 使用者 –jmxpassword 密碼 –jmxuser smx –jmxpassword smx 適用於需要 JMX 用戶端的使用者名稱/密碼驗證的情況。預設未設定。
系統定義選項 -D= -Dactivemq.home=c:/ActiveMQ 設定系統屬性。例如,Systems.getProperty(“activemq.home”); 將返回 c:/ActiveMQ
說明選項 -h 或 -? 或 –help –help 顯示 stop 腳本的說明訊息。
版本選項 –version activemq –version 顯示 activemq 版本資訊。

範例

範例 說明
activemq-admin stop 停止預設 JMX 環境中唯一正在執行的 broker。它假設只有一個正在執行的 broker。
activemq-admin stop –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi –all 停止指定 JMX 環境中所有正在執行的 broker。
activemq-admin stop localhost 停止預設 JMX 環境中名為 'localhost' 的 broker。
activemq-admin stop localhost remotehost 停止預設 JMX 環境中的 brokers 'localhost' 和 'remotehost'。

list 任務

任務名稱 list
任務使用 activemq-admin list [選項]
說明 用於列出指定 JMX 環境中所有正在執行的 broker 名稱的腳本。此任務需要啟用 JMX。

選項

選項名稱 語法 範例 說明
JMX URL 選項 –jmxurl –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi 變更要連線的 JMX 服務 URL。預設情況下,它會連線到:service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi
JMX 驗證選項 –jmxuser 使用者 –jmxpassword 密碼 –jmxuser smx –jmxpassword smx 適用於需要 JMX 用戶端的使用者名稱/密碼驗證的情況。預設未設定。
系統定義選項 -D= -Dactivemq.home=c:/ActiveMQ 設定系統屬性。例如,Systems.getProperty(“activemq.home”); 將返回 c:/ActiveMQ
說明選項 -h 或 -? 或 –help –help 顯示 list 腳本的說明訊息。
版本選項 –version activemq –version 顯示 activemq 版本資訊。

範例

範例 說明
activemq-admin list 列出預設 JMX 環境中所有正在執行的 broker 的名稱。
activemq-admin list –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi 列出指定 JMX 環境中所有正在執行的 broker 的名稱。

query 任務

任務名稱 query
任務使用 activemq-admin query [選項]
說明 用於查詢指定 JMX 環境中 mbean 屬性和資訊的腳本。此腳本需要啟用 JMX。

選項

選項名稱 語法 範例 說明
預定義查詢選項 -Q<類型>=<名稱> -QTopic=TEST.FOO, -QBroker=*host 預定義物件名稱查詢選項,可根據其類型和選定的識別碼查詢特定類型的 mbean 物件。有關詳細資訊,請參閱下面的 mbean 參考表。
  -xQ<類型>=<名稱> -xQTopic=ActiveMQ.Advisory., -xQNetworkConnector= 預定義物件名稱查詢選項,從搜尋結果中移除所有符合查詢的 mbean。有關詳細資訊,請參閱下面的 mbean 參考表。
物件名稱查詢選項 –objname <物件名稱查詢> –objname Type=Connect,BrokerName=local* 查詢選項大致基於 JMX 物件名稱格式,可讓您根據 mbean 的物件名稱資訊篩選 mbean。有關詳細資訊,請參閱下面的 mbean 參考表。
  –xobjname <物件名稱查詢> –xobjname Type=Topic,Destination=ActiveMQ.Advisory.* 物件名稱查詢,從搜尋結果中移除所有符合查詢的 mbean。有關詳細資訊,請參閱下面的 mbean 參考表。
檢視選項 –view <檢視清單> –view Type,BrokerName,Destination,EnqueueCount,DequeueCount 可讓您指定要檢視的屬性和物件名稱資訊。如果省略檢視,將顯示所有屬性和資訊。
JMX URL 選項 –jmxurl <url> –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi 變更要連線的 JMX 服務 URL。預設情況下,它會連線到:service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi
JMX 驗證選項 –jmxuser 使用者 –jmxpassword 密碼 –jmxuser smx –jmxpassword smx 適用於需要 JMX 用戶端的使用者名稱/密碼驗證的情況。預設未設定。
系統定義選項 -D<鍵>=<值> -Dactivemq.home=c:/ActiveMQ 設定系統屬性。例如,Systems.getProperty(“activemq.home”); 將返回 c:/ActiveMQ
說明選項 -h 或 -? 或 –help –help 顯示 query 腳本的說明訊息。
版本選項 –version activemq –version 顯示 activemq 版本資訊。

範例

範例 說明
activemq-admin query 顯示預設 JMX 環境中所有已註冊 mbean 的所有屬性和物件名稱資訊。
activemq-admin query -QTopic=TEST.FOO 顯示目標主題 'TEST.FOO' 的所有屬性和物件名稱資訊
activemq-admin query -QQueue=* 顯示所有已註冊佇列的所有屬性和物件名稱資訊。
activemq-admin query -QTopic=.FOO -xQTopic=ActiveMQ.Advisory. 顯示所有以 '.FOO' 結尾的主題的所有屬性和物件名稱資訊,但那些也以 'ActiveMQ.Advisory.' 開頭的主題除外。
activemq-admin query -QBroker=local???? –view Type,BrokerName,EnqueueCount,DequeueCount 顯示所有以 'local' 開頭的 9 個字母的 brokers 的物件類型、broker 名稱、入隊計數和出隊計數資訊。
activemq-admin query –objname Type=Connect,BrokerName=localhost -xQNetworkConnector=* 顯示 broker 'localhost' 的所有連線和連接器的所有屬性和物件名稱資訊,但其網路連接器除外。
activemq-admin query –objname Type=Connection –xobjname Type=Connection,BrokerName=localhost 顯示所有已註冊連線的所有屬性和物件名稱資訊,但屬於 broker 'localhost' 的連線除外。
activemq-admin query -QQueue=???? –objname Type=Connection –xobjname BrokerName=remote* 顯示所有 4 個字母佇列和連線的所有屬性和物件名稱資訊,但那些屬於以 'remote' 開頭的 broker 的佇列和連線除外。

ActiveMQ Classic MBean 參考

Mbean 類型 屬性 / ObjectName  屬性 操作
Broker type=Broker, brokerName=<broker-識別碼> BrokerId、TotalEnqueueCount、TotalDequeueCount、TotalConsumerCount、TotalMessageCount、TotalConnectionsCount、TotalConsumerCount、TotalProducerCount、MemoryLimit、MemoryPercentUsage、StoreLimit、StorePercentUsage start、stop、terminateJVM、resetStatistics、gc
目標 type=Broker, brokerName=<broker-名稱>, destinationType=Queue|Topic, destinationName=<名稱> Average、EnqueueTime、ConsumerCount、DequeueCount、EnqueueCount、ExpiredCount、InFlightCount、MemoryLimit、MemoryPercentUsage、Name、QueueSize(僅限佇列) browseMessages、gc、purge、resetStatistics
NetworkConnector type=Broker, brokerName==<broker-名稱>, connector=networkConnectors, networkConnectorName==<連接器-識別碼> Name、Duplex、DynamicOnly、BridgeTempDestinations、ConduitSubscriptions、DecreaseNetworkConsumerPriority、DispatchAsync、DynamicOnly、NetworkTTL、Password、PrefetchSize start、stop
Connector type=BrokerbrokerName=<代理程式名稱>connector=clientConnectorsConnectorName==<連接器識別碼> StatisticsEnabled start、stop、resetStatistics、enableStatistics、disableStatistics、connectionCount
Connection type=BrokerbrokerName=<代理程式名稱>connectionViewType=clientIdconnectionName==<連線識別碼> DispatchQueueSize、Active、Blocked、Connected、Slow、Consumers、Producers、RemoteAddress、UserName、ClientId start、stop、resetStatistics
PersistenceAdapter type=BrokerbrokerName=<代理程式名稱>Service=PersistenceAdapterInstanceName==<配接器識別碼> Name、Size、Data、Transactions  
Health type=BrokerbrokerName=<代理程式名稱>Service=Health CurrentStatus health

bstat 任務

任務名稱 bstat
任務使用 activemq-admin bstat [代理程式名稱]
說明 預先定義的查詢腳本,顯示關於代理程式及其元件的有用統計資訊。

範例

範例 說明
activemq-admin bstat 顯示預設 JMX 內容中所有已註冊代理程式的有用統計資訊。
activemq-admin bstat localhost 顯示已註冊代理程式 'localhost' 的有用統計資訊。

browse 任務

任務名稱 browse
任務使用 activemq-admin browse –amqurl <代理程式 URL> [options] <目的地>java -jar run.jar browse –amqurl <代理程式 URL> [options] <目的地>
說明 用於瀏覽所選目的地訊息的腳本。由於代理程式配置和系統資源的限制,瀏覽操作可能不會傳回所有訊息。

選項

選項名稱 語法 範例 說明
代理程式 URL 選項 –amqurl <url> –amqurl tcp://127.0.0.1:61616 指定要連線的代理程式 URL。
訊息選擇器選項 –msgsel “<msgsel1,msgsel2,…>” –msgsel “JMSMessageID=’*:10’,JMSPriority>5” 允許您篩選要檢視的特定訊息。將整個選擇器條件放在雙引號「」中。您可以使用單引號「」括住字串訊息屬性來使用萬用字元查詢。除了使用萬用字元查詢來篩選字串屬性外,其他查詢都遵循訊息選擇器格式。
群組檢視選項 -V[header | custom | body] -Vheader, -Vcustom, -Vbody 讓您指定要檢視的特定訊息屬性群組。標頭檢視會顯示所有標準 JMS 訊息標頭。自訂檢視會顯示新增至每個 JMS 訊息的所有自訂欄位。本文檢視會顯示 JMS 訊息的訊息本文。
特定檢視選項 –view <attr1>,[header:|custom:]<attr2>,… –view JMSMessageID=’*:10’,custom:MyCustomField 讓您特別選取特定的訊息屬性。它允許您從 JMS 和自訂標頭中選取特定屬性。您可以新增標籤 header: 和 custom: 來明確指定屬性所屬的位置。請參閱下方訊息標頭表格以取得詳細資訊。
系統定義選項 -D<鍵>=<值> -Dactivemq.home=c:/ActiveMQ 設定系統屬性。例如,Systems.getProperty(“activemq.home”); 將返回 c:/ActiveMQ
說明選項 -h 或 -? 或 –help –help 顯示 browse 腳本的說明訊息。
版本選項 –version activemq –version 顯示 activemq 版本資訊。

範例

範例 說明
activemq-admin browse –amqurl tcp://127.0.0.1:61616 TEST.FOO 列印佇列 ‘TEST.FOO’ 中訊息的 JMS 訊息標頭、自訂訊息標頭和訊息本文
activemq-admin browse –amqurl tcp://127.0.0.1:61616 -Vheader,body TEST.FOO 列印佇列 ‘TEST.FOO’ 中訊息的 JMS 訊息標頭和訊息本文
activemq-admin browse –amqurl tcp://127.0.0.1:61616 -Vheader –view custom:MyCustomField TEST.FOO TEST.BAR 列印佇列 ‘TEST.FOO’ 和 ‘TEST.BAR’ 中訊息的所有 JMS 訊息標頭和自訂欄位 'MyCustomField'。
activemq-admin browse –amqurl tcp://127.0.0.1:61616 –msgsel “JMSMessageID=’*:10’,JMSPriority>5” TEST.FOO 列印佇列 ‘TEST.FOO’ 中,JMSMessageID 符合萬用字元查詢 *:10,且 JMSPriority 大於 5 的訊息的所有屬性。

JMS 訊息標頭參考

標頭名稱 標頭類型
JMSCorrelation ID 字串
JMSDelivery Mode int (1-非持久性,2-持久性)
JMSDestination javax.jms.Destination
JMSExpiration long
JMSMessageID 字串
JMSPriority int
JMSRedelivered boolean
JMSReplyTo javax.jms.Destination
JMSTimestamp long
JMSType 字串

purge 任務

任務名稱 purge
任務使用 activemq-admin purge [purge-options]
說明 刪除符合訊息選擇器的所選目的地的訊息。

選項

選項名稱 語法 範例 說明
JMX URL 選項 –jmxurl <url> –jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi 變更要連線的 JMX 服務 URL。預設情況下,它會連線到:service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi
JMX 驗證選項 –jmxuser 使用者 –jmxpassword 密碼 –jmxuser smx –jmxpassword smx 適用於需要 JMX 用戶端的使用者名稱/密碼驗證的情況。預設未設定。
訊息選擇器選項 –msgsel “<msgsel1,msgsel2,…>” –msgsel “JMSMessageID=’*:10’,JMSPriority>5” 允許您篩選要檢視的特定訊息。將整個選擇器條件放在雙引號「」中。您可以使用單引號「」括住字串訊息屬性來使用萬用字元查詢。除了使用萬用字元查詢來篩選字串屬性外,其他查詢都遵循訊息選擇器格式。
系統定義選項 -D<鍵>=<值> -Dactivemq.home=c:/ActiveMQ 設定系統屬性。例如,Systems.getProperty(“activemq.home”); 將返回 c:/ActiveMQ
說明選項 -h 或 -? 或 –help –help 顯示 browse 腳本的說明訊息。
版本選項 –version activemq –version 顯示 activemq 版本資訊。

範例

範例 說明
activemq-admin purge FOO.BAR 刪除佇列 FOO.BAR 中的所有訊息
activemq-admin purge –msgsel “JMSMessageID=’:10’,JMSPriority>5” FOO. 刪除符合 FOO.* 的目的地中,且標頭欄位中的 JMSMessageID 符合萬用字元 *:10,且佇列 FOO.BAR 中 JMSPriority 欄位 > 5 的所有訊息。若要使用萬用字元查詢,欄位必須是字串,且查詢必須以「」括住

dstat 任務

任務名稱 dstat
任務使用 activemq-admin dstat [目的地類型]
說明 預先定義的查詢腳本,顯示關於代理程式上目的地的有用統計資訊。

範例

範例 說明
activemq-admin dstat 顯示預設 JMX 內容中代理程式上所有目的地的有用統計資訊。
activemq-admin dstat topics 顯示代理程式上目前存在的主題的有用統計資訊。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。Copyright © 2024, The Apache Software Foundation。在 Apache License 2.0 授權下提供。