Camel Servlet and Apache Tomcat example
=======================================

An example which shows how to use the Camel Servlet with Apache Tomcat.

It can be run using Maven.

You will need to package this example first:
  mvn package

To run the example deploy it in Apache Tomcat by copying the .war to the
deploy folder of Apache Tomcat.

And then hit this url from a webbrowser which has further instructions
  http://localhost:8080/camel-example-tomcat-2.7

The servlet is located at (use correct version number)
  http://localhost:8080/camel-example-tomcat-2.7/camel


This example is documented at
  http://camel.apache.org/servlet-tomcat-example.html

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

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

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



