Chapter 4. Running a Route
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 provided blueprintContexts/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 As Local Camel Context (without tests) . Note If 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: 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 the target/messages/received folder contains the six message files, message1.xml through message6.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> 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.
[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 <?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>