camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: [DISCUSS] - Camel 2.9 - JMX and reducing Spring depdendency
Date Tue, 02 Aug 2011 11:05:05 GMT

Another heads up. I have implemented the Camel JmxMbeanAssember, and
committed to trunk.
All the unit tests passed and the migrated is easy. Just replace the
Spring JMX annotations with their Camel counterparts.

So camel-core now use pure Camel for JMX and only depend on slf4j-api
as 3rd party JAR. This is as low on JAR dependency we can get :)

There is a few pieces still to do in that last sub ticket:
All the Camel components need to be migrated to use the Camel JMX annotations.
Unit test added to camel-spring that uses the Spring JMX annotations
Remove unneeded spring dep in pom.xml for all the components when not
really needed anymore
And I guess the features.xml file for Karaf can be adjusted as well.
(For example to run Camel + Blueprint without any Spring at all).

On Tue, Aug 2, 2011 at 9:44 AM, Claus Ibsen <> wrote:
> Hi
> Just a heads up on the progress so far.
> The parent ticket is, and I have created sub-tickets for sub tasks to
> be executed:
> There is a pluggable API in place, that ensures that when people uses
> camel-spring with Camel, it will support the Spring @ JMX annotations.
> This ensures people can still use Spring @ JMX annotations in the
> custom components, processors etc and have them enlisted in JMX by
> Camel.
> I have since then introduced 3 Camel @ JMX annotations in camel-core,
> in the package.
> I opted to use similar names as Spring @ JMX, to make the migration
> easier, and for end users it would be similar waters to use the Camel
> @ JMX annotations, if they dont want to be Spring dependent.
> I also took at look at ActiveMQ and they have a single @ JMX
> annotation called @MBeanInfo. They use that for both attributes and
> operations.
> If people have better ideas or suggestions for the Camel @ JMX
> annotations, then feedback is ouf course much welcome. Its only when
> we release Camel 2.9, it will be set in stone :)
> I am working on the camel-core to use the Camel @ JMX annotations, and
> have it enlisted in JMX etc. I almost got the pieces together. The JMX
> operations works fine. The JMX attributes need a bit more work, as the
> JDK JMX API is terrible. There is definitely not very much convention
> or help from the API. You need to do a fiar bit of work up front. For
> example for attributes, you need to enlist them both as attributes
> *and* operations. And even if you give it the Method of the
> setter/getter, you need to add those again in a descriptor afterwards
> etc. Definitely not an API that is friendly to end users.
> But on my camel-core I got the following dependency from Maven now:
> [INFO] ------------------------------------------------------------------------
> [INFO] Building Camel :: Core 2.9-SNAPSHOT
> [INFO] ------------------------------------------------------------------------
> [INFO]
> [INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ camel-core ---
> [INFO] org.apache.camel:camel-core:bundle:2.9-SNAPSHOT
> [INFO] +- org.slf4j:slf4j-api:jar:1.6.1:compile
> [INFO] +- org.osgi:org.osgi.core:jar:4.1.0:provided
> [INFO] +- junit:junit:jar:4.8.1:test
> [INFO] +- org.slf4j:slf4j-log4j12:jar:1.6.1:test
> [INFO] \- log4j:log4j:jar:1.2.16:test
> [INFO] ------------------------------------------------------------------------
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email:
> Web:
> Twitter: davsclaus, fusenews
> Blog:
> Author of Camel in Action:

Claus Ibsen
Twitter: davsclaus, fusenews
Author of Camel in Action:

View raw message