Just like the link:dsl.html[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:

[source,java]
----------------------------------------------------------
class MyRouteBuilder extends RouteBuilder {
  "direct:a" --> "mock:a"
  "direct:b" to "mock:b"      
}
----------------------------------------------------------

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.


If you compare this to the Java link:dsl.html[DSL], you notice:

* there is no configure() method to override
* a route starts directly with a URI instead of `from(uri)`
* `→` is just an alias for `to`

[[ScalaDSL-GettingStarted-SettingtherouteID]]
Setting the route ID
^^^^^^^^^^^^^^^^^^^^

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

[source,java]
-----------------------------------------
 "direct:a" routeId "route-b" to "mock:b"
-----------------------------------------

[[ScalaDSL-GettingStarted-CreatinganewCamelScalaproject]]
Creating a new Camel Scala project
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Camel offers link:camel-maven-archetypes.html[Maven archetypes] that
allow you to quickly setup a new project.

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

[source,java]
----------------------
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:

[source,java]
---------------------
mvn compile exec:java
---------------------
