ActiveMQ Classic 命令行工具参考

 常见问题 > 使用 Apache ActiveMQ Classic > ActiveMQ Classic 命令行工具参考

命令行工具

当前脚本包含管理 ActiveMQ 的全部功能。

在 5.4.1 之前的版本中,除控制服务本身之外的一些管理功能是 “activemq-admin” 脚本的一部分。
该脚本目前仍然是发行版的一部分,为 Windows 用户提供对此的访问权限 -

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

  • shutdown - 关闭 ActiveMQ 代理
  • list - 列出指定 JMX 上下文中运行的所有代理
  • query - 查询 JMX 上下文以获取代理统计信息和信息
  • bstat - 预定义查询,显示有用的代理统计信息
  • browse - 浏览特定队列的消息
  • purge - 删除与消息选择器匹配的选定目标的消息

activemq 脚本

该脚本说明适用于 Windows 平台。 对于 Unix 平台,它适用于 5.4.0 之前的代理版本。 在 5.4.0 及更高版本中,ActiveMQ Classic 附带了增强的 Unix Shell 脚本

脚本名称 activemq.bat, activemq
任务用法 activemq [选项] [配置]java -jar run.jar start [选项] [配置]
描述 脚本通过指定代理配置文件或通过代理 URI 配置来运行 ActiveMQ 代理。

选项

选项名称 语法 示例 描述
系统定义选项 -D= -Dactivemq.home=c:/ActiveMQ 设置系统属性。 例如,Systems.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 中的文件 broker1.xml 作为代理配置文件运行代理。
activemq xbean:file:C:/ActiveMQ/conf/broker2.xml 使用位于绝对文件路径 C:/ActiveMQ/conf/broker2.xml 中的文件 broker2.xml 作为代理配置文件运行代理。
activemq broker:(tcp://127.0.0.1:61616, tcp://127.0.0.1:5000)?useJmx=true 运行具有两个传输连接器且启用 JMX 的代理。¹
activemq broker:(tcp://127.0.0.1:61616, network:tcp://127.0.0.1:5000)?persistent=false 运行具有 1 个传输连接器和 1 个网络连接器且持久性禁用的代理。¹

有关如何使用代理 URI 配置的详细信息,请参阅: 代理配置 URI

activemq-admin

从 ActiveMQ Classic 5.x 开始,上述独立实用程序已合并到 activemq-admin 命令中 (除了 activemq 脚本),如下所示

每个任务的语法保持如下所述。 还要注意,activemq 命令仍然受支持。

stop 任务

任务名称 stop
任务用法 activemq-admin stop [选项] [代理名称]
描述 脚本停止运行的 ActiveMQ 代理。 此任务要求启用 JMX。

选项

选项名称 语法 示例 描述
停止全部选项 –all stop –all 停止指定 JMX 上下文中注册的所有代理
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 上下文中唯一运行的代理。 它假定只有一个代理在运行。
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 任务

任务名称 list
任务用法 activemq-admin list [选项]
描述 脚本列出指定 JMX 上下文中运行的所有代理的名称。 此任务要求启用 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 上下文中运行的所有代理的名称。
activemq-admin list –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi 列出指定 JMX 上下文中运行的所有代理的名称。

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 参考表。
  –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 个字母代理的对象类型、代理名称、入队计数和出队计数信息。
activemq-admin query –objname Type=Connect,BrokerName=localhost -xQNetworkConnector=* 显示代理 “localhost” 的所有连接和连接器的所有属性和对象名称信息,但其网络连接器除外。
activemq-admin query –objname Type=Connection –xobjname Type=Connection,BrokerName=localhost 显示所有注册连接的所有属性和对象名称信息,但属于代理 “localhost” 的连接除外。
activemq-admin query -QQueue=???? –objname Type=Connection –xobjname BrokerName=remote* 显示所有 4 个字母队列和连接的所有属性和对象名称信息,但属于以 “remote” 开头的代理的连接除外。

ActiveMQ Classic MBean 参考

MBean 类型 属性 / 对象名称  属性 操作
代理 type=Broker, brokerName=<代理标识符> BrokerId, TotalEnqueueCount, TotalDequeueCount, TotalConsumerCount, TotalMessageCount, TotalConnectionsCount, TotalConsumerCount, TotalProducerCount, MemoryLimit, MemoryPercentUsage, StoreLimit, StorePercentUsage start, stop, terminateJVM, resetStatistics, gc
目标 type=Broker, brokerName=<代理名称>, destinationType=Queue|Topic, destinationName=<名称> Average, EnqueueTime, ConsumerCount, DequeueCount, EnqueueCount, ExpiredCount, InFlightCount, MemoryLimit, MemoryPercentUsage, Name, QueueSize (仅队列) browseMessages, gc, purge, resetStatistics
网络连接器 type=Broker, brokerName==<代理名称>, connector=networkConnectors, networkConnectorName==<连接器标识符> Name, Duplex, DynamicOnly, BridgeTempDestinations, ConduitSubscriptions, DecreaseNetworkConsumerPriority, DispatchAsync, DynamicOnly, NetworkTTL, Password, PrefetchSize start, stop
连接器 type=Broker, brokerName=<代理名称>, connector=clientConnectors, ConnectorName==<连接器标识符> StatisticsEnabled start, stop, resetStatistics, enableStatistics, disableStatistics, connectionCount
连接 type=Broker, brokerName=<代理名称>, connectionViewType=clientId, connectionName==<连接标识符> DispatchQueueSize, Active, Blocked, Connected, Slow, Consumers, Producers, RemoteAddress, UserName, ClientId start, stop, resetStatistics
持久性适配器 type=Broker, brokerName=<代理名称>, Service=PersistenceAdapter, InstanceName==<适配器标识符> Name, Size, Data, Transactions  
健康状况 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> [选项] <目标>java -jar run.jar browse –amqurl <代理 URL> [选项] <目标>
描述 脚本浏览选定目标的消息。 由于代理配置和系统资源的限制,browse 操作可能无法返回所有消息。

选项

选项名称 语法 示例 描述
代理 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 显示浏览脚本的帮助消息。
版本选项 –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 布尔值
JMSReplyTo javax.jms.Destination
JMSTimestamp long
JMSType 字符串

清除任务

任务名称 清除
任务用法 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 显示浏览脚本的帮助消息。
版本选项 –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 [destination type]
描述 预定义查询脚本,显示有关代理上的目标的有用统计信息。

示例

示例 描述
activemq-admin dstat 在默认 JMX 上下文中显示代理上所有目标的有用统计信息。
activemq-admin dstat topics 显示当前存在于代理上的主题的有用统计信息。

Apache, ActiveMQ, Apache ActiveMQ、Apache 羽毛标志和 Apache ActiveMQ 项目标志是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 许可。