Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the asciidoc in the repository:

Why is my processor not showing up in JConsole

Not every processor is managed, and thus not all are visible in JConsole.

A processor must implement the org.apache.camel.Service to be managed. Most EIP processors do this.
For example, the minor ones such as setHeader does not and thus is not visible in JConsole.

From Camel 2.6 onwards your custom Processor should use the Spring JMX annotations (for Camel 2.9 onwards see the tip box below). Just add @ManagedResource to the class, and the other annotations for the attributes and operations. Then Camel will automatically use those when the processor is being registered in JMX.

{snippet:id=e1|lang=java|title=Custom processor|url=camel/trunk/camel-core/src/test/java/org/apache/camel/management/}

The same applies when using beans in your routes.

{snippet:id=e1|lang=java|title=Custom bean|url=camel/trunk/camel-core/src/test/java/org/apache/camel/management/} Camel 2.9 onwards provides Camel's own JMX annotations

Notice that from Camel 2.9 onwards its encouraged to use the @ManagedResource, @ManagedAttribute and @ManagedOperation from the package. This allows your custom code to not depend on Spring JARs anymore.

See also

© 2004-2015 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram