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 asciidoc in the repository:


Camel uses a Java Domain Specific Language or DSL for creating Enterprise Integration Patterns or Routes in a variety of domain-specific languages (DSL) as listed below.

  • Java DSL - A Java based DSL using the fluent builder style.
  • Spring XML - A XML based DSL in Spring XML files
  • Blueprint XML - A XML based DSL in OSGi Blueprint XML files
  • Rest DSL - A DSL to define REST services using a REST style in either Java or XML.
  • Groovy DSL - A Groovy based DSL using Groovy programming language
  • Scala DSL - A Scala based DSL using Scala programming language
  • Annotation DSL - Use annotations in Java beans.
  • Kotlin DSL - Work in progress - Currently developed outside ASF, but will we included later in Camel when Kotlin and the DSL is ready.

The main entry points for the DSL are

  • CamelContext for creating a Camel routing rulebase
  • RouteBuilder for creating a collection of routes using the routing DSL

See Also

For more examples of the DSL in action see

© 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