Chapter 4. Running a Route
This tutorial walks you through the process of running a route to verify that the route correctly transfers messages from the source endpoint to the sink endpoint.
Goals
In this tutorial you complete the following tasks:
- Run a route as a local Camel context (without tests since you have not set up a test yet)
- Send messages through the route
- Examine the messages received by the sink endpoint to make sure that the route correctly processed the test messages
Prerequisites
To start this tutorial, you need the ZooOrderApp project resulting from:
- Completing the Chapter 2, Setting up your environment tutorial.
One of the following:
Completing the Chapter 3, Defining a Route tutorial.
or
-
Replacing your project’s
blueprint.xml
file with the providedblueprintContexts/blueprint1.xml
file, as described in the section called “About the resource files”.
Running the route
To run the route:
-
Open the
ZooOrderApp
project. In Project Explorer, select
ZooOrderApp/Camel Contexts/blueprint.xml
:Right-click the
blueprint.xml
, and then select Run AsLocal Camel Context (without tests). NoteIf you select Local Camel Context instead, the tooling automatically tries to run the routing context against a supplied JUnit test. Because a JUnit test does not exist, the tooling reverts to running the routing context without tests. In the Chapter 9, Testing a route with JUnit tutorial, you create a JUnit test case to test the ZooOrderApp project.
The Console panel opens to display log messages that reflect the progress of the project’s execution. At the beginning, Maven downloads the resources necessary to update the local Maven repository. The Maven download process can take a few minutes.
Wait for messages (similar to the following) to appear at the end of the output. These messages indicate that the route executed successfully:
... [Blueprint Event Dispatcher: 1] BlueprintCamelContext INFO Route: _route1 started and consuming from:Endpoint[file://src/data?noop=true] [Blueprint Event Dispatcher: 1] BlueprintCamelContext INFO Total 1 routes, of which 1 are started. [Blueprint Event Dispatcher: 1]BlueprintCamelContext INFO Apache Camel 2.21.0.redhat-3 (CamelContext: ...) started in 0.163 seconds [Blueprint Event Dispatcher: 1] BlueprintCamelContext INFO Apache Camel 2.21.0.redhat-3 (CamelContext: ...) started in 0.918 seconds
- To shutdown the route, click located at the top of the Console view.
Verifying the route
To verify that the route executed properly, you check to see whether the message XML files were copied from the source folder (src/data
) to the target folder (target/messages/received
).
-
In Project Explorer, select
ZooOrderApp
. - Right-click and then select Refresh.
In Project Explorer, locate the
target/messages/
folder and expand it to verify that thetarget/messages/received
folder contains the six message files,message1.xml
throughmessage6.xml
:Double-click
message1.xml
to open it in the route editor’s Design tab, and then select the Source tab to see the XML code:<?xml version="1.0" encoding="UTF-8"?> <order> <customer> <name>Bronx Zoo</name> <city>Bronx NY</city> <country>USA</country> </customer> <orderline> <animal>wombat</animal> <quantity>12</quantity> </orderline> </order>
Next steps
In the Chapter 5, Adding a Content-Based Router tutorial you add a Content-Based Router that uses the content of a message to determine its destination.