第4章 ルートの実行
このチュートリアルでは、ルートを実行して、ルートがソースエンドポイントからシンクエンドポイントにメッセージを正しく転送することを確認するプロセスについて説明します。
ゴール
このチュートリアルでは、次のタスクを完了します。
- ルートをローカル Camel コンテキストとして実行します (まだテストを設定していないため、テストなしで)
- ルートを介してメッセージを送信します。
- シンクエンドポイントが受信したメッセージを調べて、ルートがテストメッセージを正しく処理したことを確認します
前提条件
このチュートリアルを開始するには、次の結果の ZooOrderApp プロジェクトが必要です。
- 2章環境の設定 チュートリアルを終了します。
次のいずれかになります。
3章ルートの定義 チュートリアルを終了します。
または
-
「リソースファイルについて」で説明されているように、プロジェクトの
blueprint.xml
ファイルを提供されるblueprintContexts/blueprint1.xml
ファイルに置き換える。
ルートを実行する
ルートを実行するには:
-
ZooOrderApp
プロジェクトを開きます。 Project Explorer で
ZooOrderApp/Camel Contexts/blueprint.xml
を選択します。blueprint.xml
を右クリックし、Run AsLocal Camel Context (without tests) を選択します。 注記代わりに Local Camel Context を選択すると、ツールは提供された JUnit テストに対してルーティングコンテキストを自動的に実行しようとします。JUnit テストが存在しないため、ツールはテストなしでルーティングコンテキストの実行に戻ります。9章JUnit を使用したルートのテストチュートリアルでは、ZooOrderApp プロジェクトをテストするための JUnit テストケースを作成します。
Console パネルが開き、プロジェクトの実行の進行状況を反映するログメッセージが表示されます。最初に、Maven はローカルの Maven リポジトリーを更新するために必要なリソースをダウンロードします。Maven のダウンロードプロセスには数分かかる場合があります。
出力の最後にメッセージ (以下と同様) が表示されるのを待ちます。これらのメッセージは、ルートが正常に実行されたことを示しています。
... [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
- ルートをシャットダウンするには、Console ビューの上部にある をクリックします。
ルートを確認する
ルートが適切に実行されたことを確認するには、メッセージ XML ファイルがソースフォルダー (src/data
) からターゲットフォルダー (target/messages/received
) にコピーされたかどうかを確認します。
-
Project Explorer で
ZooOrderApp
を選択します。 - 右クリックして、Refresh を選択します。
Project Explorer で
target/messages/
フォルダーを見つけ、そのフォルダーを展開し、target/messages/received
フォルダーに 6 つのメッセージファイル (message1.xml
からmessage6.xml
) が含まれていることを確認します。message1.xml
をダブルクリックして、ルートエディターの Design タブでそれを開き、Source タブを選択して XML コードを表示します。<?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>
次のステップ
5章コンテンツベースのルーターの追加チュートリアルでは、メッセージのコンテンツを使用して宛先を決定するコンテンツベースのルーターを追加します。