Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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.
-----------------------

See Also