Versions Compared

Key

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

Just like the Java DSL, the Scala DSL has a RouteBuilder class (org.apache.camel.scala.dsl.builder.RouteBuilder) that you can extend to implement your own routes. This example shows two very simple routes:

Info

From Camel 2.15 onwards use org.apache.camel.scala.dsl.builder.ScalaRouteBuilder and pass in the CamelContext in the constructor, which will be used by the builder. The old class RouteBuilder is deprecated.

 

 

Wiki Markup
{snippet:id=basic|lang=java|url=camel/trunk/components/camel-scala/src/test/scala/org/apache/camel/scala/dsl/BasicRouteBuilderTest.scala}

...

To assign the unique ID to the Scala route, insert the routeId method invocation after the "from" part of the DSL.

Code Block

 "direct:a" routeId "route-b" to "mock:b"

...

To do this, you can execute the following Maven goal from the command line (using Maven 3.0.3 or better):

Code Block

mvn archetype:generate

This runs Maven interactively - just type camel and press <Enter> to filter for Camel-related archetypes.
From the list, pick the number for camel-archetype-scala, then fill in the remaining details (such as the Camel version, et cetera).

The generated project has a "readme" file with more instructions, and is ready to compile and run from Maven using:

Code Block

mvn compile exec:java