Versions Compared

Key

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

Routes

Camel supports the definition of routing rules using a Java DSL (domain specific language) which avoids the need for cumbersome XML.

For example a simple route can be created as follows.

Wiki Markup
{snippet:id=e1|lang=java|url=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/RouteBuilderTest.java}

As you can see from the above Camel uses URIs to wire endpoints together.

Filters

You can combine simple routes with filters which can be arbitrary Predicate implementations.

Wiki Markup
{snippet:id=e2|lang=java|url=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/RouteBuilderTest.java}

Choices

With a choice you provide a list of predicates and outcomes along with an optional default otherwise clause which is invoked if none of the conditions are met.

Wiki Markup
{snippet:id=e3|lang=java|url=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/RouteBuilderTest.java}

Using a custom processor

Here is an example of using a custom Processor

Wiki Markup
{snippet:id=e4|lang=java|url=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/RouteBuilderTest.java}

You can mix and match custom processors with filters and choices.

Wiki Markup
{snippet:id=e5|lang=java|url=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/RouteBuilderTest.java}