含まれている情報に従ってメッセージを分割し、サブメッセージの名前を変更する
このシナリオは、Talend ESB、Talend Data Services Platform、Talend MDM Platform、Talend Real-Time Big Data Platform、Talend Data Fabricにのみ適用されます。
このシナリオでは、人物情報を含むファイルメッセージがサブメッセージに分割されます。各サブメッセージは、含まれている都市名に従って名前が変更され、別のエンドポイントにルーティングされます。
以下は、このユースケースで使われるXMLファイルの例です。
<people>
<person>
<firstName>Pierre</firstName>
<lastName>Dubois</lastName>
<city>Paris</city>
</person>
<person>
<firstName>Nicolas</firstName>
<lastName>Yang</lastName>
<city>Beijing</city>
</person>
<person>
<firstName>Ellen</firstName>
<lastName>Ripley</lastName>
<city>Washington</city>
</person>
</people>
事前定義されたJavaBeanであるsetFileNamesは、このユースケースで使われるcSetHeaderコンポーネントによって呼び出され、含まれている都市名に従って各メッセージのファイル名を定義します。JavaBeansの作成と使用については、Beansを使用をご覧ください。
package beans;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class setFileNames {
public String getCityName(Document document) {
NodeList cities = document.getDocumentElement().getElementsByTagName(
"city");
Element city = (Element) cities.item(0);
String textContent = city.getTextContent();
return textContent+".xml";
}
}