== Camel Basic Example

=== Introduction

This is a very basic example that shows how to get started with Camel.

This example shows you that Camel can be used in standalone mode
as a _public static void main_ application.

The example has only 1 java file in the `CamelBasic.java` located in the src folder.
There is code comments explaining in more details.

=== Build

You will need to compile this example first:

....
mvn compile
....

=== Run

To run the example type

....
mvn camel:run
....

The

To stop the example hit ctrl+c

You can also run the example from your editor such as Eclipse, IDEA etc,
by opening the org.apache.camel.example.basic.CamelBasic class
and then right click, and chose run java application.

=== 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!
