From version 5.4.0 onwards, ActiveMQ comes with a enhanced shell script for starting, stopping and managing the broker in Unix environment. For basic activemq and activemq-admin scripts functionality take a look at ActiveMQ Command Line Tools Reference.

This new activemq script incorporate these two scripts into one and adds some new functionalities. On top of regular activemq and activemq-admin scripts, it adds the following features:

  • start - starts the broker in background. It saves process id in the ${ACTIVEMQ_DATA_DIR}/ for future reference. It accepts the same command line arguments like the original activemq script, so you can do something like
  • console - starts the broker in foreground. It is basically the replacement for the old activemq script
  • stop - stops the broker that is running in the background. It tries first to stop the broker using shutdown task. If that task doesn't return in 30 seconds (configurable), it will kill the process.
  • restart - stops the running instance (if there's one) and starts the new one
  • status - checks if activemq process is running
  • create - create an ACTIVEMQ_BASE directory that separates a broker instance from its binaries, i.e., it creates copies of the ActiveMQ configuration files into the command-line specified directory and points to the binaries. You can start the broker with the /bin scripts in the newly created instance.

Configuring the script

For ActiveMQ server to run properly some basic system variables must be set. These variables define how much memory broker will have, SSL, logging, JAAS options and similar. Prior to version 5.11.0 these parameters were configurable in activemq script itself. You could use setup command to create additional system wide scripts to configure the broker.

setup - create the specified configuration file for this Unix script. The configuration of the script can be placed at /etc/default/activemq or $HOME/.activemqrc. Note, this is the configuration for the script not for configuring ActiveMQ.

To use addtional configurations for running multiple instances on the same operating system rename or symlink script to a name matching to activemq-instance-<INSTANCENAME>. This changes the configuration location to /etc/default/activemq-instance-<INSTANCENAME> and $HOME/.activemqrc-instance-<INSTANCENAME>. Configuration files in /etc have higher precedence.

Since 5.11.0, all configuration variables are moved to the new env script, so that they can be easily configured at one place. This script can be copied to /etc/default/activemq or $HOME/.activemqrc to provide system-wide settings, so the setup command has been removed. System variables set in the environment will take precedence. 

© 2004-2011 The Apache Software Foundation.
Apache ActiveMQ, ActiveMQ, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram