28.2. Using Management Via JMX
HornetQ can be managed using JMX.
The management API is exposed by HornetQ using MBeans interfaces. HornetQ registers its resources with the domain
org.hornetq
.
For example, the
ObjectName
to manage a JMS Queue exampleQueue
is:
org.hornetq:module=JMS,type=Queue,name="exampleQueue"
The MBean is:
org.hornetq.api.jms.management.JMSQueueControl
The MBean
ObjectName
is built using the helper class org.hornetq.api.core.management.ObjectNameBuilder
. You can also use jconsole
to find the ObjectName
of the MBeans you want to manage.
Managing HornetQ using JMX is identical to management of any Java Applications using JMX. It can be done by reflection or by creating proxies of the MBeans.
28.2.1. Configuring JMX
By default, JMX is enabled to manage HornetQ. It can be disabled by setting
jmx-management-enabled
to false
in <JBOSS_HOME>/jboss-as/server/<PROFILE>/deploy/hornetq/hornetq-configuration.xml
.
<!-- false to disable JMX management for HornetQ --> <jmx-management-enabled>false</jmx-management-enabled>
If JMX is enabled, HornetQ can be managed locally using
jconsole
.
Note
Remote connections to JMX are not enabled by default for security reasons. System properties must be set in
run.sh
or run.bat
scripts.
By default, the HornetQ server uses the JMX domain "org.hornetq". To manage several HornetQ servers from the same MBeanServer, the JMX domain can be configured for each individual HornetQ server by setting
jmx-domain
in <JBOSS_HOME>/jboss-as/server/<PROFILE>/deploy/hornetq/hornetq-configuration.xml
:
<!-- use a specific JMX domain for HornetQ MBeans --> <jmx-domain>my.org.hornetq</jmx-domain>