== Spring Example

=== Introduction

This example shows how to work with files and JMS, using Spring to boot
up Camel and configure the routes.

The example consumes messages from a queue and writes them to the file
system.

=== Build

You will need to compile this example first:

....
mvn compile
....

=== Run

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+`

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/support.html[let us know].

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

The Camel riders!
