手順
-
Senderという名前のcFileコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
- [Path] (パス)フィールドでメッセージソースへのファイルパスを指定します。
- [Encoding] (エンコーディング)リストから、メッセージファイルのエンコーディングタイプを選択します。その他のパラメーターはそのままにしておきます。
-
cMessageFilterコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
-
メッセージのフィルタリングに使用する式の言語を選択し、式を入力して、メッセージのフィルタリングに使う条件を定義します。
このシナリオでは、値がParisの都市ノードを含むXMLファイルをソートするため、[Language] (言語)リストからXPathを選択し、[Expression] (式)フィールドにこの式を入力します:
"/person[city='Paris']"
。 -
Paris_onlyという名前のcFileコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開き、フィルター条件を満たすメッセージのパスを[Path] (パス)フィールドに指定します。
このステップを繰り返し、送信元からのすべてのメッセージのパスをUnfilteredという名前のcFileコンポーネントに定義します。
-
Monitor_Parisという名前のcProcessorコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開き、[Code] (コード)エリア内のコードをカスタマイズして、フィルター条件を満たすメッセージのファイル名をコンソールに表示します。
System.out.println("Message sent to folder Paris_only: "+ exchange.getIn().getHeader("CamelFileName"));
このステップを繰り返して、Monitor_Unfilteredという名前のcProcessorコンポーネントのコードをカスタマイズし、送信元からのすべてのメッセージのファイル名を表示します。 - [Ctrl] + [S]を押してジョブを保存します。