コンポーネントと接続を設定する - 7.2

Routing Slip (メディエーション)

Version
7.2
Language
日本語 (日本)
Product
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > ルーティングコンポーネント(メディエーション) > ルーティングスリップコンポーネント(メディエーション)
データガバナンス > サードパーティーシステム > ルーティングコンポーネント(メディエーション) > ルーティングスリップコンポーネント(メディエーション)
データクオリティとプレパレーション > サードパーティーシステム > ルーティングコンポーネント(メディエーション) > ルーティングスリップコンポーネント(メディエーション)

手順

  1. Senderという名前のcFileコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
  2. [Path] (パス)フィールドで、ソースファイルBeijing.xmlLondon.xmlParis.xmlWashington.xmlを保持するフォルダーへのパスを入力するか参照します。
    [Encoding] (エンコーディング)リストから、ソースファイルのエンコーディングタイプを選択します。その他のパラメーターはそのままにしておきます。
  3. Set_endpointsという名前のcSetHeaderコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
  4. [+]をクリックして、[Headers] (ヘッダー)テーブルに行を追加します。
    [Name] (名前)フィールドに、メッセージに付けるヘッダーの名前を入力します。
    このユースケースでは、単にmySlipを使います。これは、cRoutingSlipコンポーネントの [Header name] (ヘッダー名)フィールドに入力されるデフォルト値です。
  5. [Language] (言語)リストボックスから[Constant] (定数)またはSimpleを選択し、[Value] (値) フィールドに、メッセージを連続的にルーティングする宛先のURIをコンマで区切って入力します。これは、cRoutingSlipコンポーネントの[URI delimiter] (URI区切り)フィールドのデフォルト値です。
    このユースケースでは、メッセージを最初にエンドポイントcに、次にエンドポイントaに、最後にエンドポイントbにルーティングします。
  6. Routing_slipという名前のcRoutingSlipコンポーネントをダブルクリックして、[Component] (コンポーネント)タブに[Basic settings] (基本設定)ビューを開き、[Header name] (ヘッダー名)フィールドでメッセージヘッダーを、[URI delimiter] (URI区切り)フィールドでURI区切りを定義します。
    このユースケースでは、デフォルトの設定を使います。
  7. Endpoint_aという名前のcMessagingEndpointコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを表示し、URIフィールドにメッセージの宛先とするURIを入力します。
    ここでは、このコンポーネントを使って、URI direct:aにルーティングされたメッセージを取得します。
    このステップを繰り返して、エンドポイントURIをその他のcMessagingEndpointコンポーネント(それぞれdirect:bdirect:c)に設定します。
  8. Monitor_aという名前のcProcessorコンポーネントをダブルクリックして、[Component] (コンポーネント)タブに[Basic settings] (基本設定)ビューを表示し、コンソールに希望する方法で情報が表示されるようにコードをカスタマイズします。
    ここでは、このコンポーネントを使って、接続されたエンドポイントaにルーティングされたメッセージを監視し、ファイル名を表示します。したがって、コードを次のように適宜カスタマイズします。
    System.out.println("Message received on endpoint a: "+ 
    exchange.getIn().getHeader("CamelFileName"));
    このステップを繰り返して、接続されたエンドポイントbおよびcにそれぞれルーティングされるメッセージについて、他の2つのcProcessorコンポーネントのコードをカスタマイズします。
    System.out.println("Message received on endpoint b: "+ 
    exchange.getIn().getHeader("CamelFileName"));
    System.out.println("Message received on endpoint c: "+ 
    exchange.getIn().getHeader("CamelFileName"));
  9. [Ctrl] + [S]を押してジョブを保存します。