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.

This page is work in progress. The layering is probably not yet correct

Camel-core is the basic module of apache camel. It contains the public API and the Java DSL and several implementation packages.

The most important packages are:

Package Name

Description

builder

The Camel Domain Specific Language for creating Routes, Predicates, Expressions and Error Handlers

model

Contains the classes (*Type) that form the java DSL. The central class is the RouteBuilder

language

Language APIs and plugins for Expressions and Predicates

component

Some simple components like bean or log. You will find most components in the other camel modules

impl

Implementation classes for model and camel

processor

Processors to implement the Enterprise Integration Patterns

spi

Service provider interfaces. Strategy APIs for implementors to extend Camel

camel

Base package for camel. Defintions like Message and CamelContext can be found there

Architecture Diagram

The diagram shows the (relaxed) layering of the top level packages in camel-core. Relaxed means that a layer may reference any layer below it.

Architecture Diagram including current violations 

Each arrow upwards shows a violation in the layering. That means some class inside the package references a class of a package above it. These diagrams were built with an architecture tool called structure 101. We have an offer from the manufacturer headway software to supply us with licenses for all camel developers that are interested. If you want a license please contact me (Christian Schneider chris at die-schneider.net). I will then try to organize a license for you.

© 2004-2015 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram