Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Warning
titleWork in progress

The Scala DSL for Apache Camel is currently under development and it only supports part of what is available in the Java-based DSL or Xml Configuration syntax.

About the Scala DSL

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.

Enterprise integration patterns

TODO: Create a Scala alternative and example for every EIP available on http://activemq.apache.org/camel/enterprise-integration-patterns.htmlImage Removed

  • Message Channel
  • Message
  • Pipes and Filters
  • Message Router
  • Message Translator
  • Message Endpoint
  • Point to Point Channel
  • Publish Subscribe Channel
  • Dead Letter Channel
  • Guaranteed Delivery
  • Message Bus
  • Correlation Identifier
  • Content Based Router
  • Message Filter
  • Recipient List
  • Splitter
  • Aggregator
  • Resequencer
  • Routing Slip
  • Throttler
  • Delayer
  • Load Balancer
  • Multicast
  • Content Enricher
  • Content Filter
  • Normalizer
  • Messaging Mapper
  • Event Driven Consumer
  • Polling Consumer
  • Competing Consumers
  • Message Dispatcher
  • Selective Consumer
  • Durable Subscriber
  • Idempotent Consumer
  • Transactional Client
  • Messaging Gateway
  • Service Activator
  • Wire Tap

Documentation

References

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).

Code Block
xml
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.

Code Block
xml
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.