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:
https://issues.apache.org/jira/browse/CAMEL-3408

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 org.apache.camel.management 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: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to