Welcome to the Apache Camel Examples!
=====================================

This directory contains the various examples for working with Apache Camel.

They are described in detail here
  http://activemq.apache.org/camel/examples.html

For details of how to rn these examples see
  http://activemq.apache.org/camel/running-examples.html

Before you start we recommend you install a recent distribution of Maven which we use to run our examples
  http://maven.apache.org/

If you hit any problems please talk to us on the Camel Forums
  http://activemq.apache.org/camel/discussion-forums.html

Please help us make Apache Camel better - we appreciate any feedback you may have.
Enjoy!

------------------------
The Camel riders!

   