ActiveMQ Command Line Tools Reference

 FAQ > Using Apache ActiveMQ > ActiveMQ Command Line Tools Reference

Command Line Tools

The current script contains the entire functionality to manage activemq.

In versions prior 5.4.1 some management functionalities beyond controlling the service itself where part of the “activemq-admin” script.
This script is currently still part of the distribution to provide access to this for Windows users-

In versions prior to 5.0 the functionality of activemq-admin script was scattered over multiple scripts, such as:

  • shutdown - shutdowns an activemq broker
  • list - lists all running brokers in the specified JMX context
  • query - queries the JMX context for broker statistics and information
  • bstat - predefined query that displays useful broker statistics
  • browse - browse the messages of a specific queue
  • purge - delete selected destination’s messages that matches the message selector

activemq script

Description of this script is valid for Windows platform. For Unix platform it is valid for broker versions prior to 5.4.0. With version 5.4.0 and later, ActiveMQ comes with enhanced Unix Shell Script

Script Name activemq.bat, activemq
Task Usage activemq [options] [config] or java -jar run.jar start [options] [config]
Description Script to run an activemq broker either by specifying a broker configuration file or through a broker URI configuration.

Options:

Option Name Syntax Example Description
System Define Option -D= -Dactivemq.home=c:/ActiveMQ Sets a systems property. i.e Systems.getProperty(“activemq.home”); will return c:/ActiveMQ
Help Option -h or -? or –help activemq –help Display the help messages for the activemq script.
Version Option –version activemq –version Display the activemq version information.

Examples:

Example Description
activemq Runs a broker using the default ‘xbean:activemq.xml’ as the broker configuration file.
activemq xbean:myconfig.xml Runs a broker using the file myconfig.xml as the broker configuration file that is located in the classpath.
activemq xbean:file:./conf/broker1.xml Runs a broker using the file broker1.xml as the broker configuration file that is located in the relative file path ./conf/broker1.xml
activemq xbean:file:C:/ActiveMQ/conf/broker2.xml Runs a broker using the file broker2.xml as the broker configuration file that is located in the absolute file path C:/ActiveMQ/conf/broker2.xml
activemq broker:(tcp://localhost:61616, tcp://localhost:5000)?useJmx=true Runs a broker with two transport connectors and JMX enabled.¹
activemq broker:(tcp://localhost:61616, network:tcp://localhost:5000)?persistent=false Runs a broker with 1 transport connector and 1 network connector with persistence disabled.¹

For details on how to configure using broker URI refer to: Broker Configuration URI

activemq-admin

As of ActiveMQ 5.x, the above standalone utilities have been incorporated into the activemq-admin command (with the exception of the activemq script), as follows:

The syntax of each task remains as described below. Note also that the activemq command is still supported.

stop task

Task Name stop
Task Usage activemq-admin stop [options] [broker names]
Description Script to stop a running activemq broker. This task requires that JMX is enabled.

Options:

Option Name Syntax Example Description
Stop All Option –all stop –all Stops all registered brokers in the specified JMX context
JMX URL Option –jmxurl –jmxurl service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi Change the JMX service url to connect to. By default it connects to: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
JMX Authentication Option –jmxuser user –jmxpassword password –jmxuser smx –jmxpassword smx For cases where username/password based authentication of the JMX client is required. Not set by default.
System Define Option -D= -Dactivemq.home=c:/ActiveMQ Sets a systems property. i.e Systems.getProperty(“activemq.home”); will return c:/ActiveMQ
Help Option -h or -? or –help –help Display the help messages for the stop script.
Version Option –version activemq –version Display the activemq version information.

Examples:

Example Description
activemq-admin stop Stops the only running broker in the default JMX context. It assumes that there is only one running broker.
activemq-admin stop –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi –all Stops all the running broker in the specified JMX context.
activemq-admin stop localhost Stops the broker named ‘localhost’ in the default JMX context.
activemq-admin stop localhost remotehost Stops the brokers ‘localhost’ and ‘remotehost’ in the default JMX context.

list task

Task Name list
Task Usage activemq-admin list [options]
Description Script to list the names of all running brokers in the specified JMX context. This task requires that JMX is enabled.

Options:

Option Name Syntax Example Description
JMX URL Option –jmxurl –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi Change the JMX service url to connect to. By default it connects to: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
JMX Authentication Option –jmxuser user –jmxpassword password –jmxuser smx –jmxpassword smx For cases where username/password based authentication of the JMX client is required. Not set by default.
System Define Option -D= -Dactivemq.home=c:/ActiveMQ Sets a systems property. i.e Systems.getProperty(“activemq.home”); will return c:/ActiveMQ
Help Option -h or -? or –help –help Display the help messages for the list script.
Version Option –version activemq –version Display the activemq version information.

Examples:

Example Description
activemq-admin list Lists the names of all running brokers in the default JMX context.
activemq-admin list –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi List the names of all running brokers in the specified JMX context.

query task

Task Name query
Task Usage activemq-admin query [options]
Description Script to query the specified JMX context for mbean attributes and information. This script requires that JMX is enabled.

Options:

Option Name Syntax Example Description
Predefined Query Option -Q<type>=<name> -QTopic=TEST.FOO, -QBroker=*host Predefined object name query option that queries a specific type of mbean object based on its type and selected identifier. Refer to the mbean reference table below for details.
  -xQ<type>=<name> -xQTopic=ActiveMQ.Advisory., -xQNetworkConnector= Predefined object name query option that removes all mbeans that matches the query from the search result. Refer to the mbean reference table below for details.
Object Name Query Option –objname <object name query> –objname Type=Connect,BrokerName=local* Query option loosely based on the JMX object name format, which lets you filter mbeans based on their object name information. Refer to the mbean reference table below for details.
  –xobjname <object name query> –xobjname Type=Topic,Destination=ActiveMQ.Advisory.* Object name query that removes all mbeans that matches the query from the search result. Refer to the mbean reference table below for details.
View Option –view <view list> –view Type,BrokerName,Destination,EnqueueCount,DequeueCount Lets you specify the attributes and object name information to view. If the view is omitted, all attributes and information will be displayed.
JMX URL Option –jmxurl <url> –jmxurl service:jmx:rmi:///jndi/rmi://remotehost:1099/jmxrmi Change the JMX service url to connect to. By default it connects to: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
JMX Authentication Option –jmxuser user –jmxpassword password –jmxuser smx –jmxpassword smx For cases where username/password based authentication of the JMX client is required. Not set by default.
System Define Option -D<key>=<value> -Dactivemq.home=c:/ActiveMQ Sets a systems property. i.e Systems.getProperty(“activemq.home”); will return c:/ActiveMQ
Help Option -h or -? or –help –help Display the help messages for the query script.
Version Option –version activemq –version Display the activemq version information.

Examples:

Example Description
activemq-admin query Display all attributes and object name information of all registered mbeans in the default JMX context.
activemq-admin query -QTopic=TEST.FOO Display all the attributes and object name information of the destination topic ‘TEST.FOO’
activemq-admin query -QQueue=* Display all the attributes and object name information of all registered queues.
activemq-admin query -QTopic=.FOO -xQTopic=ActiveMQ.Advisory. Display all the attributes and object name information of all topics that ends with ‘.FOO’ except those that also begins with ‘ActiveMQ.Advisory.’.
activemq-admin query -QBroker=local???? –view Type,BrokerName,EnqueueCount,DequeueCount Display the object type, broker name, enqueue count, and dequeue count information for all 9-letter brokers that begins with ‘local’.
activemq-admin query –objname Type=Connect,BrokerName=localhost -xQNetworkConnector=* Display all the attributes and object name information for all connections and connectors for broker ‘localhost’ except its network connectors.
activemq-admin query –objname Type=Connection –xobjname Type=Connection,BrokerName=localhost Display all the attributes and object name information for all registered connections except those belonging to broker ‘localhost’.
activemq-admin query -QQueue=???? –objname Type=Connection –xobjname BrokerName=remote* Display all the attributes and object name information for all 4-letter queues and connections except those belonging to a broker that begins with ‘remote’.

ActiveMQ MBean Reference:

Mbean Type Properties / ObjectName  Attributes Operations
Broker type=Broker, brokerName=<broker-identifier> BrokerId, TotalEnqueueCount, TotalDequeueCount, TotalConsumerCount, TotalMessageCount, TotalConnectionsCount, TotalConsumerCount, TotalProducerCount, MemoryLimit, MemoryPercentUsage, StoreLimit, StorePercentUsage start, stop, terminateJVM, resetStatistics, gc
Destination type=Broker, brokerName=<name-of-broker>, destinationType=Queue|Topic, destinationName=<name> Average, EnqueueTime, ConsumerCount, DequeueCount, EnqueueCount, ExpiredCount, InFlightCount, MemoryLimit, MemoryPercentUsage, Name, QueueSize (queues only) browseMessages, gc, purge, resetStatistics
NetworkConnector type=Broker, brokerName==<name-of-broker>, connector=networkConnectors, networkConnectorName==<connector-identifier> Name, Duplex, DynamicOnly, BridgeTempDestinations, ConduitSubscriptions, DecreaseNetworkConsumerPriority, DispatchAsync, DynamicOnly, NetworkTTL, Password, PrefetchSize start, stop
Connector type=Broker, brokerName=<name-of-broker>, connector=clientConnectors, ConnectorName==<connector-identifier> StatisticsEnabled start, stop, resetStatistics, enableStatistics, disableStatistics, connectionCount
Connection type=Broker, brokerName=<name-of-broker>, connectionViewType=clientId, connectionName==<connection-identifier> DispatchQueueSize, Active, Blocked, Connected, Slow, Consumers, Producers, RemoteAddress, UserName, ClientId start, stop, resetStatistics
PersistenceAdapter type=Broker, brokerName=<name-of-broker>, Service=PersistenceAdapter, InstanceName==<adapter-identifier> Name, Size, Data, Transactions  
Health type=Broker, brokerName=<name-of-broker>, Service=Health CurrentStatus health

bstat task

Task Name bstat
Task Usage activemq-admin bstat [broker name]
Description Predefined query script that displays useful statistics regarding a broker and its components.

Examples:

Example Description
activemq-admin bstat Display useful statistics for all registered brokers in the default JMX context.
activemq-admin bstat localhost Display useful statistics for the registered broker ‘localhost’.

browse task

Task Name browse
Task Usage activemq-admin browse –amqurl <broker url> [options] <destinations> or java -jar run.jar browse –amqurl <broker url> [options] <destinations>
Description Script to browse selected destinations’ messages.  The browse operation may not return all messages due to limitations of broker configuration and system resources.

Options:

Option Name Syntax Example Description
Broker URL Option –amqurl <url> –amqurl tcp://localhost:61616 Specify the broker URL to connect to.
Message Selector Option –msgsel “<msgsel1,msgsel2,…>” –msgsel “JMSMessageID=’*:10’,JMSPriority>5” Allows you to filter the specific messages to view. Place the entire selector criteria in double quotes “ “. You can use wildcard queries by enclosing the string message property in ‘ ‘. Other than using wildcard queries to filter string properties, other queries follows the message selector format.
Group View Option -V[header | custom | body] -Vheader, -Vcustom, -Vbody Let’s you specify a specific group of message attributes to view. The header view shows all the standard JMS message headers. The custom view shows all the custom fields added to each JMS message. The body view shows the message body of the JMS message.
Specific View Option –view <attr1>,[header:|custom:]<attr2>,… –view JMSMessageID=’*:10’,custom:MyCustomField Let’s you specifically select a specific message attribute. It allows you to select specific attributes from the JMS and custom headers. You could add the tags header: and custom: to explicitly specify where the attribute belongs to. Refer to the message header table below for details.
System Define Option -D<key>=<value> -Dactivemq.home=c:/ActiveMQ Sets a systems property. i.e Systems.getProperty(“activemq.home”); will return c:/ActiveMQ
Help Option -h or -? or –help –help Display the help messages for the browse script.
Version Option –version activemq –version Display the activemq version information.

Examples:

Example Description
activemq-admin browse –amqurl tcp://localhost:61616 TEST.FOO Prints the JMS message header, custom message header, and message body of the messages in the queue ‘TEST.FOO’
activemq-admin browse –amqurl tcp://localhost:61616 -Vheader,body TEST.FOO Prints the JMS message header and message body of the messages in the queue ‘TEST.FOO’
activemq-admin browse –amqurl tcp://localhost:61616 -Vheader –view custom:MyCustomField TEST.FOO TEST.BAR Prints all the JMS message header and the custom field ‘MyCustomField’ of the messages in the queue ‘TEST.FOO’ and ‘TEST.BAR’.
activemq-admin browse –amqurl tcp://localhost:61616 –msgsel “JMSMessageID=’*:10’,JMSPriority>5” TEST.FOO Prints all the attributes of the messages in the queue ‘TEST.FOO’ that has a JMSMessageID that matches the wildcard query *:10 and has a JMSPriority greater than 5.

JMS Message Header Reference:

Header Name Header Type
JMSCorrelation ID String
JMSDelivery Mode int (1-Non-Persistent, 2-Persistent)
JMSDestination javax.jms.Destination
JMSExpiration long
JMSMessageID String
JMSPriority int
JMSRedelivered boolean
JMSReplyTo javax.jms.Destination
JMSTimestamp long
JMSType String

purge task

Task Name purge
Task Usage activemq-admin purge [purge-options]
Description Delete selected destination’s messages that matches the message selector.

Options:

Option Name Syntax Example Description
JMX URL Option –jmxurl <url> –jmxurl service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi Change the JMX service url to connect to. By default it connects to: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
JMX Authentication Option –jmxuser user –jmxpassword password –jmxuser smx –jmxpassword smx For cases where username/password based authentication of the JMX client is required. Not set by default.
Message Selector Option –msgsel “<msgsel1,msgsel2,…>” –msgsel “JMSMessageID=’*:10’,JMSPriority>5” Allows you to filter the specific messages to view. Place the entire selector criteria in double quotes “ “. You can use wildcard queries by enclosing the string message property in ‘ ‘. Other than using wildcard queries to filter string properties, other queries follows the message selector format.
System Define Option -D<key>=<value> -Dactivemq.home=c:/ActiveMQ Sets a systems property. i.e Systems.getProperty(“activemq.home”); will return c:/ActiveMQ
Help Option -h or -? or –help –help Display the help messages for the browse script.
Version Option –version activemq –version Display the activemq version information.

Examples:

Example Description
activemq-admin purge FOO.BAR Delete all the messages in queue FOO.BAR
activemq-admin purge –msgsel “JMSMessageID=’:10’,JMSPriority>5” FOO. Delete all the messages in the destinations that matches FOO.* and has a JMSMessageID in”, the header field that matches the wildcard *:10, and has a JMSPriority field > 5 in the”, queue FOO.BAR. To use wildcard queries, the field must be a string and the query enclosed in ‘’

dstat task

Task Name dstat
Task Usage activemq-admin dstat [destination type]
Description Predefined query script that displays useful statistics regarding destinations on a broker.

Examples:

Example Description
activemq-admin dstat Display useful statistics for all destinations on the broker in the default JMX context.
activemq-admin dstat topics Display useful statistics for the Topics that currently exist on the Broker.

Apache ActiveMQ, ActiveMQ, ActiveMQ Artemis, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. Copyright © 2019, The Apache Software Foundation. Licensed under Apache License 2.0.