blob: 04dc5e042294d5d6ced641c08d2d42789599144d [file] [log] [blame]
[[ScalaDSL-AbouttheScalaDSL]]
About the Scala DSL
^^^^^^^^^^^^^^^^^^^
http://www.scala-lang.org/[Scala] is a general purpose programming
language designed to express common programming patterns in a concise,
elegant, and type-safe way. It integrates very well with the Java
platform. Our Scala DSL implementation is built on top of the existing
Java-based DSL, but it adds Scala syntax sugar to make
building routes even more convenient.
[[ScalaDSL-Documentation]]
Documentation
^^^^^^^^^^^^^
* Scala DSL - Getting Started gives
you basic information on how to use the Scala DSL.
* Scala DSL - EIP shows you the Scala DSL
syntax for every EIP supported. Scala DSL supports
every EIP from the Java DSL.
* link:scala-dsl-supported-languages.html[Scala DSL - Supported
languages] explains the usage of traits to add support for other
languages (e.g. XPath)
[[ScalaDSL-References]]
References
^^^^^^^^^^
* At http://www.eu.apachecon.com[ApacheCon Europe 2008] there was a Fast
Feather talk that introduced some of the basic Scala language concepts
that are being used for building the Scala DSL.
http://www.anova.be/files/camel-scala.pdf[Here are the presentation
slides] .
* Here's a
http://davsclaus.blogspot.se/2011/12/apache-camel-little-scala-dsl-example.html[blog
post] demonstrating the Message Filter EIP
within the Scala DSL, as well as how to use
Camel's test kit to test the example.
[[ScalaDSL-Dependencies]]
Dependencies
^^^^^^^^^^^^
To use the Scala DSL in your camel routes you need to add the a
dependency on *camel-scala* which implements the Scala DSL.
If you use maven you could just add the following to your pom.xml,
substituting the version number for the latest & greatest release (see
the download page for the latest versions).
[source,xml]
----------------------------------------------------------
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-scala</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
----------------------------------------------------------
Starting from version 2.11 Camel Scala DSL is compiled against Scala
2.10. If you plan to use Scala 2.9 with Camel 2.11, add the following to
your pom.xml file instead.
[source,xml]
----------------------------------------------------------
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-scala_2.9</artifactId>
<version>2.11.x</version>
<!-- use the same version as your Camel core version -->
</dependency>
----------------------------------------------------------
Support for Scala 2.9 is deprecated and will be removed starting from
the Camel 2.12 and 3.0.