JMX configuration for Camel routes
Apache Camel has support for JMX and allows you to monitor a Camel managed object (for example, routes). By default, a JMX agent is enabled in Camel which means that the Camel runtime creates and registers MBean management objects with a MBeanServer instance in the VM. But if you would like to configure a JMX agent (for example to use a custom port in JMX URL) the best way to do it is adding a jmxAgent element inside the camelContext element in Spring configuration:
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<jmxAgent id="agent" mbeanObjectDomainName="your.domain.name">
...
<camelContext>
The default JMX configuration is used in both examples, but you can also configure it:
<jmxAgent id="agent" registryPort="port number" createConnector="true">
createConnector means that we should create a JMX connector (to allow remote management) for the MBeanServer.registryPort is the port for JMX.
You can set hostName and domainName for DefaultManagementNamingStrategy. As a default, hostName is the computer name and domainName is org.apache.camel
<bean id="naming"
class="org.apache.camel.management.DefaultManagementNamingStrategy">
<property name="hostName" value="localhost"/>
<property name="domainName" value="org.apache.camel">
</bean>
To configure specific definitions for the Camel route object use the properties:
Property Name | Description |
---|---|
org.apache.camel |
domain name |
routes |
Camel routes type |
context |
Camel context name |
name |
route name |
You can find further information about configuring Camel JMX agent at the "Camel" site http://camel.apache.org/camel-jmx.html.