Cafe Example
This example shows how to use Camel to implement a Cafe use case.
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 a aggregate to gather the drinks for waiter to deliver.
Here is the route builder code for it.
Wiki Markup |
---|
{snippet:id=RouteConfig|lang=java|url=camel/trunk/examples/camel-example-cafe/src/main/java/org/apache/camel/example/cafe/CafeRouteBuilder.java} |
Running
You will need to compile this example first:
Code Block |
---|
mvn compile |
The example should run if you type:
Code Block |
---|
mvn exec:java |
To stop the server hit ctrl + c
Sample output
When the client is running it outputs all requests and responses on the screen.
Code Block |
---|
Camel thread 4: seda://coldDrinks?concurrentConsumers=2 prepared cold drink #1 for order #2: iced 2 shot ESPRESSO Camel thread 3: seda://hotDrinks?concurrentConsumers=3 prepared hot drink #1 for order #2: hot 2 shot MOCHA Camel thread 1: seda://hotDrinks?concurrentConsumers=3 prepared hot drink #2 for order #2: hot 4 shot CAPPUCCINO Camel thread 2: seda://hotDrinks?concurrentConsumers=3 prepared hot drink #3 for order #2: hot 4 shot LATTE ----------------------- Order #2 Iced ESPRESSO, 2 shots. Hot MOCHA, 2 shots. Hot CAPPUCCINO, 4 shots. Hot LATTE, 4 shots. ----------------------- |