各メッセージを一連のエンドポイントに条件付きでルーティング - Cloud - 8.0

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

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

このシナリオは、Talend ESBTalend Data Services PlatformTalend MDM PlatformTalend Real-Time Big Data PlatformTalend Data Fabricにのみ適用されます。

Talendがサポートしているテクノロジーの詳細は、Talend Mediationコンポーネントを参照してください。

前のシナリオに基づくこのシナリオでは、ファイルシステムからの各メッセージは、含まれる都市名に従って異なるエンドポイントに連続的にルーティングされます。

このユースケースで使うすべてのファイルには、それらに含まれる都市名に基づいて名前が付けられます。以下は、2つの例の抜粋です。

Beijing.xml:

<person>
    <firstName>Nicolas</firstName>
    <lastName>Yang</lastName>
    <city>Beijing</city>
</person>

Paris.xml:

<person>
  <firstName>Pierre</firstName>
  <lastName>Dupont</lastName>
  <city>Paris</city>
</person>

このユースケースでは、事前定義されたJavaBean、setEndpointsが呼び出され、各メッセージに含まれる都市名に従ってエンドポイントURIを返すため、メッセージは次のようにルーティングされます。

  • 都市名Parisを含むメッセージは、最初にエンドポイントaにルーティングされ、次にエンドポイントbに、最後にエンドポイント cにルーティングされます。

  • 都市名Beijingを含むメッセージは、最初にエンドポイントcにルーティングされ、次にエンドポイントaに、最後にエンドポイント bにルーティングされます。

  • 他のメッセージはエンドポイントbに、次にエンドポイントcにルーティングされます。

JavaBeansの作成と使用については、Beansを使用をご覧ください。

package beans;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

public class setEndpoints {
	public String helloExample(Document document) {
		NodeList cities = document.getDocumentElement().getElementsByTagName(
				"city");
		Element city = (Element) cities.item(0);
		String textContent = city.getTextContent();
		if ("Paris".equals(textContent)) {
			return "direct:a,direct:b,direct:c";
		} else if ("Beijing".equals(textContent)) { 
			return "direct:c,direct:a,direct:b";
		} else
			return "direct:b,direct:c";
	}
}