== Cafe Example

=== Introduction

This example shows how to work with splitter and aggregator to implement
a Cafe demo.

First It uses the splitter to dispatch the order, then sends the orders
to barista by checking if the coffee is hot or cold. When the coffee is
ready, we use an aggregator to gather the drinks for waiter to deliver.

=== Build

You will need to compile this example first:

[source,sh]
----
$ mvn compile
----

=== Run

To run the example type

[source,sh]
----
$ mvn camel:run
----

You can see the routing rules by looking at the java code in
`src/main/java`, the Spring XML configuration lives in
`src/main/resources/META-INF/spring`

To stop the example hit `ctrl+c`

=== Run unit tests

There are unit tests implemented, which can be run with the following command:

[source,sh]
----
$ mvn test
----

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