ActiveMQ integration
ServiceMix 4 integrates nicely with ActiveMQ. A feature is available through the Kernel provisioning system, but this already comes pre-installed with the ServiceMix 4 distribution.
A set of commands enable the creation, destruction and querying of ActiveMQ brokers:
servicemix> activemq help Available commands in activemq: browse Display selected messages in a specified destination bstat Displays useful broker statistics create-broker Creates a broker instance. destroy-broker Destroys a broker instance. list Lists all available brokers in the specified JMX context purge Delete selected destination's messages that matches the message selector query Display selected broker component's attributes and statistics
Help on commands
To obtain some detailed help on a given command, you can run:
activemq help [command]
Broker creation
By default, no broker is created, but the following command can be used to create one:
servicemix> activemq create-broker Creating file: xxx/deploy/localhost-broker.xml Default ActiveMQ Broker (localhost) configuration file created at: xxx/deploy/localhost-broker.xml Please review the configuration and modify to suite your needs.
It creates a broker with a sensible default configuration, but you can easily edit the mentioned file to modify the broker's configuration. Along with the broker, a pooled JMS ConnectionFactory
is registered in OSGi and the broker is integrated with the transaction manager embedded in ServiceMix. The broker is also registered in the local JMX mbean server.
If you want to create multiple brokers, you need to give them some names. This can be done this way:
servicemix> activemq create-broker --name mybroker Creating file: xxx/deploy/mybroker-broker.xml Default ActiveMQ Broker (mybroker) configuration file created at: xxx/deploy/mybroker-broker.xml Please review the configuration and modify to suite your needs.
Broker destruction
To remove an existing broker, simply run the following command:
servicemix> activemq destroy-broker Default ActiveMQ Broker (localhost) configuration file created at: xxx/deploy/localhost-broker.xml removed.
To destroy a named broker, run the following command:
servicemix> activemq destroy-broker --name mybroker Default ActiveMQ Broker (localhost) configuration file created at: xxx/deploy/mybroker-broker.xml removed.
Broker querying
Several commands are available to query the broker. To address local brokers, you need to use the --jmxlocal
parameter.
The following command displays available brokers:
servicemix> activemq list --jmxlocal BrokerName = mybroker
To have more detailed informations, run:
servicemix> activemq query --jmxlocal
It will display informations about the connectors, list of queues, etc...
You can also browse or purge queues using the activemq browse
and activemq purge
commands.