ActiveMQ Classic 命令列工具參考
常見問題 > 使用 Apache ActiveMQ Classic > ActiveMQ Classic 命令列工具參考
命令列工具
目前的腳本包含管理 activemq 的所有功能。
- activemq - 執行 activemq broker (請參閱 Unix Shell Script)
在 5.4.1 之前的版本中,除了控制服務本身之外的一些管理功能是「activemq-admin」腳本的一部分。
此腳本目前仍然是發行版本的一部分,以便為 Windows 用戶提供此功能的存取權限-
- activemq-admin - 管理 broker 實例
在 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-admin stop
- activemq-admin list
- activemq-admin query
- activemq-admin bstat
- activemq-admin browse
每個任務的語法仍然如下所述。另請注意,仍支援 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=Broker,brokerName=<代理程式名稱>,connector=clientConnectors,ConnectorName==<連接器識別碼> | StatisticsEnabled | start、stop、resetStatistics、enableStatistics、disableStatistics、connectionCount |
Connection | type=Broker,brokerName=<代理程式名稱>,connectionViewType=clientId,connectionName==<連線識別碼> | DispatchQueueSize、Active、Blocked、Connected、Slow、Consumers、Producers、RemoteAddress、UserName、ClientId | start、stop、resetStatistics |
PersistenceAdapter | type=Broker,brokerName=<代理程式名稱>,Service=PersistenceAdapter,InstanceName==<配接器識別碼> | Name、Size、Data、Transactions | |
Health | type=Broker,brokerName=<代理程式名稱>,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 | 顯示代理程式上目前存在的主題的有用統計資訊。 |