blob: 7c2b54af9d1f485688774a44bf6f5e66576d3a02 [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 link:dsl.html[DSL], but it adds Scala syntax sugar to make
building routes even more convenient.
[[ScalaDSL-Documentation]]
Documentation
^^^^^^^^^^^^^
* link:scala-dsl-getting-started.html[Scala DSL - Getting Started] gives
you basic information on how to use the Scala DSL.
* link:scala-dsl-eip.html[Scala DSL - EIP] shows you the Scala DSL
syntax for every EIP supported. link:scala-dsl.html[Scala DSL] supports
every EIP from the link:dsl.html[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 link:message-filter.html[Message Filter] EIP
within the link:scala-dsl.html[Scala DSL], as well as how to use
link:camel-test.html[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.