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

Prerequisites

To start this tutorial, you need the ZooOrderApp project resulting from:

  1. Completing the Chapter 2, Setting up your environment tutorial.
  2. One of the following:

Running the route

To run the route:

  1. Open the ZooOrderApp project.
  2. In Project Explorer, select ZooOrderApp/Camel Contexts/blueprint.xml :

    tutRunCBRrouteCamContext
  3. Right-click it to open the context menu, then select Run AsLocal 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 and modify it specifically for testing 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, which may take a few minutes.

    Messages similar to the following at the end of the output indicate that the route executed successfully:

    ...
    [Blueprint Extender: 3] BlueprintCamelContext INFO  Route: _route1 started and consuming from:Endpoint[file://src/data?noop=true]
    [Blueprint Extender: 3] BlueprintCamelContext INFO  Total 1 routes, of which 1 are started.
    [Blueprint Extender: 1] BlueprintCamelContext INFO  Apache Camel 2.18.1.redhat-00002 (CamelContext: ...) started in 0.163 seconds
    [Blueprint Extender: 3] BlueprintCamelContext INFO  Apache Camel 2.18.1.redhat-00002 (CamelContext: ...) started in 0.918 seconds
  4. To shutdown the route, click console’s shutdown button 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').

  1. In Project Explorer, select ZooOrderApp.
  2. Right-click it to open the context menu, then select Refresh.
  3. In Project Explorer, locate the folder target/messages/ and expand it:

    message destination
  4. Verify that the target/messages/received folder contains the six message files, message1.xml through message6.xml.
  5. Double-click message1.xml to open it in the route editor’s Design tab, 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.

Further reading

To learn more about: