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.

  • No labels