命令行工具
命令行工具
n activemq——運行activemq代理
n activemq-admin——管理代理的實例
在5.0之前activemq-admin被分成多個腳本,例如:
n shutdown——關閉activemq代理
n list——列出所有在指定JMX上下文中運行的代理
n query——查詢JMX上下文中的代理統計和信息。
n bstat——預定義查詢,顯示有用的代理統計信息。
n browse——瀏覽指定隊列中的消息。
n purge——刪除所選目標的消息。
activeMQ腳本
這個腳本只對windows平台有效,unix平台上只對5.4.0之前的版本有效,之后的版本使用增強的Unix外殼腳本。
| 腳本名稱 |
activemq.bat,activemq |
| 用法 |
activemq [options] [config] or java –jar run.jar start [options] [config] |
| 描述 |
通過指定代理配置文件或代理URI配置來運行activemq代理 |
選項
| 選項名稱 |
語法 |
示例 |
描述 |
| 系統定義的選項 |
-D <key>=<value> |
-D activemq.home=c:/ActiveMQ |
設置系統屬性例如:System.getProperty(“activemq.home”)將會返回c:/ActiveMQ |
| 幫助選項 |
-h 、-?、--help |
activemq –-help |
顯示activemq的幫助信息 |
| 版本選項 |
--version |
activemq –version |
顯示activemq版本信息 |
示例
| 示例 |
描述 |
| activemq |
使用缺省的xbean:activemq.xml配置文件來運行一個代理 |
| activemq xbean:myconfig.xml |
使用myconfig.xml作為配置文件來運行一個代理 |
| activemq xbean:file:./conf/broker1.xml |
使用位於路徑./conf/broker1.xml作為配置文件來運行代理 |
| activemq xbean:file:C:/ActiveMQ/conf/broker2.xml |
使用兩個端口連接器來運行代理 |
| activemq broker:(tep://localhost:61616,tcp://localhost:5000)?persistent=false |
使用一個端口連接器,一個網絡連接器,關閉持續性來運行一個代理 |
activemq-admin
在ActiveMQ 5.X版本中,上面的獨立工具一並被整合到activemq-admin這個命令中了,如下所示:
n activemq-admin stop
n activemq-admin list
n activemq-admin query
n activemq-admin bstat
n activemq-admin browse
每一個命令的作用的描述如下所示,記住activemq命令也可以使用
停止任務
| 腳本名稱 |
stop |
| 用法 |
activemq-admin stop [options] [broker names] |
| 描述 |
停止正在運行的activemq代理,這個命令需要啟用JMX。 |
選項
| 選項名稱 |
語法 |
示例 |
描述 |
| 停止所有選項 |
--all |
stop –all |
停止所有指定JMX上下文中的已注冊代理service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi |
| JMX URL選項 |
--jmxurl <url> |
--jmxurl service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi |
更改連接到JMX服務的url。缺省為: |
| JMX認證選項 |
--jmxuser user --jmxpassword password |
--jmxusersmx –jmxpassword smx |
基於認證的JMX客戶端需要用戶名和口令 |
| 系統定義選項 |
-D<key>=<value> |
-Dactivemq.home=c:/ActiveMQ |
設置系統屬性,例如:System.getProperty(“activemq.home”)將會返回c:/ActiveMQ |
| 幫助選項 |
-h、-?、--help
|
--help |
顯式瀏覽的幫助信息 |
| 版本信息 |
--version |
activemq –version |
顯示activemq的版本信息。 |
示例
| 示例 |
描述 |
| activemq-admin stop |
在指定JMX上下文中關閉所有的代理 |
| activemq-admin stop --jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi –all |
停止所有指定JMX上下文中運行的代理 |
| activemq-admin stop localhost |
在缺省JMX上下文中停止名字為localhost的代理 |
| activemq-admin stop localhost remotehost |
在缺省JMX上下文中停止名字為localhost和remotehost的代理 |
列表任務
| 腳本名稱 |
list |
| 用法 |
activemq-admin list [options] |
| 描述 |
停止正在運行的activemq代理列表(在指定的JMX上下文中),這個命令需要啟用JMX。 |
選項
| 選項名稱 |
語法 |
示例 |
描述 |
| JMX URL選項 |
--jmxurl <url> |
--jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi |
更改JMX連接的服務URL。缺省情況向連接到service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi |
| JMX認證選項 |
--jmxuser user --jmxpassword password |
--jmxuser smx –jmxpassword |
基於JMX客戶認證的情況下:用戶名和口令是必須的。缺省情況下沒有設置。 |
| 系統定義選項 |
-D <key>=<value> |
-Dactivemq.home=c:/ActiveMQ |
設置系統屬性,例如:Systems.getProperty(“activemq.home”);將會返回c:/ActiveMQ |
| help選項 |
-h、-?、--help |
--help |
顯示腳本列表的幫助信息 |
| 版本選項 |
--version |
activemq –version |
顯示activemq版本信息。 |
示例
| 示例 |
描述 |
| activemq-admin list |
列出所有在缺省JMX上下文中的代理 |
| activemq-admin list --jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi |
列出在指定JMX上下文中所有運行的代理 |
查詢任務
| 腳本名稱 |
query |
| 用法 |
activemq-admin query [options] |
| 描述 |
查詢指定JMX上下文中mbean屬性和信息。這個腳本需要啟動JMX。 |
選項
| 選項名稱 |
語法 |
示例 |
描述 |
| 預定的查詢選項 |
-Q<type>-<name> |
--QTopic=test.FOO,-Qbroker=*host |
指定查詢選項可以根據他的類型和選擇標示符來查詢指定mbean對象的類型。 |
| -xQ<teyp>=<name> |
-xQTopic=ActiveMQ.Advisory.*, -xQNetworkConnector=* |
刪除所有滿足滿足查詢條件的mbean |
|
| 對象名查詢 |
--objname<object name query> |
--objname Type=Connect, Brokername=local* |
查詢基於JMX對象名格式,這讓你可以得到除去對象名信息的mbeans。 |
| -xobjname <object name query> |
--objname Type=Topic, Destination=ActiveMQ.Advisory.* |
刪除所有已匹配的查詢結果。詳細信息參考下面的表。 |
|
| 查看選項 |
--view <view list> |
--view Type,BrokerName, Destination, EnqueueCount, DequeueCount |
讓你指定屬性和對象名來查看,如果view被省略掉,所有的屬性和信息都將被顯示出來。 |
| JMX URL選項 |
--jmxurl <url> |
--jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi |
更改連接到JMX服務url。缺省情況下連接到service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi |
| JMX 認證選項 |
--jmxuser user --jmxpassword password |
--jmxuser smx –jmxpassword smx |
基於認證JMX客戶的用戶名和密碼是必須的,缺省上是沒有的。 |
| 系統定義選項 |
-D <key>=<value> |
-Dactivemq.home=c:/ActiveMQ |
設置系統屬性,例如:System.getProperty(“activemq.home”);將返回c:/ActiveMQ |
| 幫助選項 |
-h、-?、--help |
--help |
顯示查詢腳本的幫助信息 |
| Version |
--version |
activemq –version |
顯示activemq版本信息 |
示例
| 示例 |
描述 |
| activemq-admin query |
顯示所有注冊在缺省JMX上下文內的mbeans的屬性和對象名。 |
| activemq-admin query –QTopic=Test.FOO |
顯示目標位Test.FOO的所有屬性和對象名 |
| activemq-admin query –QQueue=* |
顯示所有注冊隊列的屬性和對象名 |
| activemq-admin query –QTopic=*.FOO –xQTopic=ActiveMQ.Advisory.* |
顯示以.FOO結尾,並除去以ActiveMQ.Advisory.開始的主題中的所有屬性和對象名。 |
| active-admin query –QBroker=local???? –view Type, BrokerName, EnqueueCount, DequeueCount |
顯示以local開始的九個字母組成的代理中的對象類型、代理名、入列數和出列數 |
| activemq-admin query –-objname Type=connect,BrokerName=localhost –xQNetworkConnector=* |
顯示所有連接到localhost代理的屬性和對象名,並排除其中的網絡連接。 |
| activemq-admin query –-objname Type=connect –xobjname Type=Connection,BrokerName=localhost |
除去屬於localhost的代理,顯示其他所有連接器的屬性和對象名。 |
| activemq-admin query –objname Type=Connection –xobjname Type=Connection, BrokerName=remote* |
隊列名為四個字符,並且代理不是remote開始的代理的所有的屬性和對象名。 |
activeMQ MBean參考
| Mbean類型 |
屬性/對象名 |
屬性 |
| 代理 |
n Type=Broker n BrokerName=<broker identifier> |
n BrokerId n TotalEnqueueCount n TotalDequeueCount n TotalConsumerCount n TotalMessages n TotalMessagesCached n MemoryLimit n MemoryPercentageUsed |
| 目標 |
n Type=Queue|Topic n Destination=<destination identifier> n BrokerName=<name of broker> |
n EnqueueCount n DequeueCount n ConsumerCount n Messages n MessagesCached |
| 網絡連接器 |
n Type=NetworkConnector n BrokerName=<connector identiier> |
|
| 連接器 |
n Type=Connector n ConnectorName=<connector identifier> n BrokerName=<name of broker> |
n EnqueueCount n DequeueCount |
| 連接 |
n Type=Connector n ConnectorName=<connector identifier> n BrokerName=<name of broker> |
n EnqueueCount n DequeueCount n DispatchQueueSize n Active n Blocked n Connected n Slow |
bstat任務
| 命令名 |
bstat |
| 用法 |
activemq-admin bstat [broker name] |
| 描述 |
顯示相關代理和組件的一些有用的統計信息 |
示例
| 示例 |
描述 |
| activemq-admin bstat |
顯示所有注冊在缺省JMX上下文內的統計信息。 |
| activemq-admin bstat localhost |
顯示注冊在localhost中的代理的統計信息。 |
瀏覽任務
| 命令名 |
browse |
| 用法 |
activemq-admin browse –amqurl <broker url> [options] <destinations> 或者java –jar run.jar browse –amqurl <broker url> [options] <destinations> |
| 描述 |
瀏覽選定目標的信息 |
選項
| 選項名稱 |
語法 |
示例 |
描述 |
| 代理URL選項 |
--amqurl <url> |
--amqurl tcp://localhost:61616 |
指定連接到代理的URL。 |
| 消息選擇器選項 |
--msgsel “<msgsel1,msgsel2,…>” |
--msgsel “JMSMessageID=’*:10’, JMSPriority>5” |
運行你過濾要看的消息。把整個選擇條件放置在雙引號內,可以使用通配符,通配符應該放置在單引號內。否則通配符查詢來過濾字符串屬性,其他查詢則按照消息選擇器進行查詢。 |
| 組查看選項 |
-V[header |custom|body] |
-Vheader,-Vcustom,-Vbody |
可以讓你指定一個特定的消息屬性組進行查看,header視圖顯示所有標准的JMS消息頭,custom顯示所有增加到每一個JMS消息中的自定義字段。body視圖顯示JMS消息的內容。 |
| 特定視圖選項 |
--view <attr1>,[headerKcustom:] <attr2>,… |
--view JMSMessageID=’*:10’, custom:MyCustomField |
讓你明確的選擇一個特定的消息屬性。它允許你從JMS和自定義header中來選擇指定的屬性。你可以增加標記:“header:”和”custom:”來顯式的指定屬性的歸屬。詳細的內容參考下面的消息頭部表。 |
| 系統定義選項 |
-D<key>=<value> |
-Dactivemq.home=c:/ActiveMQ |
設置系統屬性,例如:System.getProperty(“activemq.home”)將會返回c:/ActiveMQ |
| 幫助選項 |
-h、-?、--help
|
--help |
顯式瀏覽的幫助信息 |
| 版本信息 |
--version |
activemq –version |
顯示activemq的版本信息。 |
示例
| 示例 |
描述 |
| activemq-admin browse –amqurl tcp://localhost:61616 TEST.FOO |
打印所有在隊列‘TEST.FOO’中的JMS消息頭,自定義消息頭和消息內容 |
| active-admin browse –amqurl tcp://localhost:61616 –Vheader,body TEST.FOO |
打印在隊列TEST.FOO中所有消息的頭部和消息內容 |
| active-admin browse –amqurl tcp://localhost:61616 –Vheader –view custom:MyCustomField TEST.FOO TEST.BAR |
在隊列TEST.FOO和TEST.BAR中打印所有消息的頭部和自定義MyCustomField的內容 |
| activemq-admin browse –amqurl tcp://localhost:61616 –msgsel “JMSMessageID=’*:10’,JMSPriority>5” TEST.FOO |
打印隊列TEST.FOO中JMSMessageID匹配*:10且JMSpriority>5的消息的所有屬性。 |
JMS 消息頭參考
| 頭部名稱 |
頭部類型 |
| JMSCorrelation ID |
String |
| JMSDelivery Mode |
int(1:不持續,2:持續) |
| JMSDestination |
javax.jms.Destination |
| JMSExpiration |
long |
| JMSMessageID |
String |
| JMSPriority |
int |
| JMSRedelivered |
boolean |
| JMSRelyTo |
javax.jms.Destination |
| JMSTimestamp |
long |
| JMSType |
String |
清除任務
| 命令名 |
purge |
| 用法 |
activemq-admin purge [purge-options] <destinations> |
| 描述 |
根據消息選擇器來刪除指定目標的消息 |
選項
| 選項名稱 |
語法 |
示例 |
描述 |
| JMX URL選項 |
--jmxurl <url> |
--jmxurl service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi |
更改連接到JMX服務的URL,缺省值為ervice:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi |
| JMX認證選項 |
--jmxuser user --jmxpassword password |
--jmxusersmx –jmxpassword smx |
基於認證的JMX客戶端需要用戶名和口令 |
| 消息選擇器選項 |
--msgsel “<msgsel1,msgsel2,…>” |
--msgsel “JMSMessageID=’*:10’, JMSPriority>5” |
運行你過濾要看的消息。把整個選擇條件放置在雙引號內,可以使用通配符,通配符應該放置在單引號內。否則通配符查詢來過濾字符串屬性,其他查詢則按照消息選擇器進行查詢 |
| 系統定義選項 |
-D<key>=<value> |
-Dactivemq.home=c:/ActiveMQ |
設置系統屬性,例如:System.getProperty(“activemq.home”)將會返回c:/ActiveMQ |
| 幫助選項 |
-h、-?、--help
|
--help |
顯式瀏覽的幫助信息 |
| 版本信息 |
--version |
activemq –version |
顯示activemq的版本信息。 |
示例
| 示例 |
描述 |
| activemq-admin purge FOO.BAR |
刪除所有在FOO.BAR隊列中的消息 |
| activemq-admin purge –msgsel “JMSMessageID=’*:10’, JMSPriority>5” FOO.* |
目標匹配FOO.*且JMSMessageID匹配*.10,且JMSPriority大於5的消息,使用通配符,字段必須是字符串,且包含在單引號中。 |
