Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added Goal for clearer architecture in camel core

...

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

...