Camel JMX
Apache Camel has extensive support for JMX to allow you to monitor and control the behavior of the broker via the JMX MBeans
.
Using JMX to monitor Apache Camel
You can enable/disable JMX support as follows...
1. Run a camel context setting the context property useJmx to true.
<camelContext id="camel" useJmx="true" xmlns="http:>
<route>
...
</route>
</camelContext>
2. Run a JMX console (e.g. jconsole - JMX console included in the JDK <JAVA_HOME>/bin/jconsole.exe)
3. Connect to the given JMX URL:
The CamelContext should appear in the list of local connections, if you are running JConsole on the same host as Camel.
To connect to a remote Camel instance, or if the local process does not show up, use Remote Process option, and enter an URL. Here is an example localhost URL:
Using the Apache Camel which Jconsole
![]()
The SystemProperties for Camel JMX support
| Property Name |
value |
Description |
| org.apache.camel.jmx |
true or false |
if is true , it will enable jmx feature in Camel |
| org.apache.camel.jmx.usePlatformMBeanServer |
true or false |
if is true, Camel JMX agent will use the platformMBeanServer which holds the JVM's memory, cpu and some other management information |
jmxAgent Properties Reference
| Property Name |
Default Value |
Description |
| id |
|
The JMX agent name, and it is not optional |
| usePlatformMBeanServer |
false |
If true then it will use the plateform MBean server form the JVM |
| jmxDomainName |
org.apache.camel |
The jmx domain that all objects names will use |
| createConnector |
true |
If we should create a JMX connector (to allow remote management) for the MBeanServer |
| connectorPort |
1099 |
The port that the JMX connector will use |
| connectorPath |
/jmxrmi |
The path that JMX connector will be registered under |