Extract Transform Load (ETL) Example
====================================

This example shows how to use Camel as an ETL tool
  http://activemq.apache.org/camel/etl.html

For a full description of this example please see
  http://activemq.apache.org/camel/etl-example.html

To run the example type
  mvn camel:run

You can see the routing rules by looking at the java code in the src/main/java directory
and the Spring XML configuration lives in src/main/resources/META-INF/spring

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!

