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 early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.
Camel 2.9 - JMX and reducing Spring dependencyThis note covers the goal for Camel 2.9 to reduce Spring dependency in BackgroundIn Some Camel Components such as Velocity, Freemarker, XSLT uses Spring Resource API to load resources over the classpath etc. This does not work in OSGi blueprint, etc. Instead we should rely on the Pluggable Class Resolvers provided by Camel that works with OSGi, JBoss and other containers. DesignThe Spring JMX annotation support code in We should provide a basic set of Camel JMX annotations in This also allows Camel end users to use these new Camel JMX annotations in their custom Camel components. Then they do not need to use Spring JMX annotations, and thus bring in maybe unneeded dependency on Spring JARs in their code. The Reducing runtime JARsSince Spring JARs will no longer be mandatory on the classpath for JMX support, we can reduce the runtime JAR dependency for Camel end users. Most end users of Camel will need to support JMX, so essentially we force them to add Spring JARs. That means they only need slf4j logging and commons-management JARs. Porting commons-management to camel-coreCurrently Other components using SpringThe Mail and JMS component currently depend on Spring JARs. There is a work in progress patch for the Mail component to be able to run without Spring. The JMS component is however heavily dependent on Spring, as it uses spring-jms. We may in the future consider writing a new light weight JMS component that has less features, but can work without Spring. However this is not the goal for Camel 2.9. If we do our own jms abstraction which might be a good idea then we should put it in a apache commons project as it would also help other projects like cxf. |