Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DSL

Camel uses a Java Domain Specific Language or DSL for creating Enterprise Integration Patterns or Routes. The benefits of using a Java DSL is that your IDE can smart complete your code as you start typing, rather than having to mess around with buckets of XML. The Java DSL is also very expressive as you can mix and match your own code within the language for Expression or Predicate evaluations or easily add a custom Processor 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

Handling errors

You can handle errors in a number of ways such as

See Also

For more examples of the DSL in action see

...