Tracer Example
==============

This example shows how to persist Camel trace event messages into a database using JPA.

You will need to compile this example first:
  mvn compile
  
For a background in tracer and JPA see
  http://camel.apache.org/tracer.html
  http://camel.apache.org/jpa.html

To run the example with Maven, type
  mvn camel:run

In the console you can enter some words separated with space. Try to enter:
  nice beer
  beer whiskey
  camel nice day

This example will based on the input get some quotes from the input and select the best quote
to return as response in the console.

To stop the example hit ctrl + c

This example is documented at
  http://camel.apache.org/tracer-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!
