== Spring XQuery Example

=== Introduction

This example shows how to

* work with files and JMS
* transform messages using XQuery
* use Spring XML to configure all routing rules and components

The example consumes messages from a directory, transforms them, then
sends them to a queue.

=== Build

You will need to compile this example first:

----
$ mvn compile
----

=== Run

To run the example using Maven, type

----
$ mvn camel:run
----

You can see the routing rules by looking at the Spring XML configuration
at `+src/main/resources/META-INF/spring+`

To stop the example hit ctrl+c

=== Help and contributions

If you hit any problem using Camel or have some feedback, then please
https://camel.apache.org/community/support/[let us know].

We also love contributors, so
https://camel.apache.org/community/contributing/[get involved] :-)

The Camel riders!
