...
Camel 3.0 should bump the minimum version of Spring to 3.0+.
Camel 1.x/2.x supports Spring 2.0+
Clearer Architecture of Camel Core
Goals:
- The camel components should know as little as possible about camel core
- The classes needed to setup camel should be separate from the things needed at run time
So why should this be important? Currently components depend on camel-core as a whole and there are no further rules which classes the components should use and which classes should be private to core. Even classes from the impl package are needed. So this means that any refactoring we do in camel core could affect all components. As camel is growing steadily this can become quite problematic.
Split camel-core into three parts:
api, builder, impl
These should be structured in a way that these big building blocks do not have cyclic dependencies. Any other cycles can be ignored in this step.
Allowed depdencies ( "->" means may use, may depend on):
- * -> api
- end user config code -> builder
- builder -> impl
Routing engine optimization
...