Diviser un message et renommer les sous-messages selon les informations contenues - Cloud - 8.0

SetHeader (Mediation)

Version
Cloud
8.0
Language
Français
Product
Talend Data Fabric
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants Processing (Médiation) > Composants SetHeader (Médiation)
Gouvernance de données > Systèmes tiers > Composants Processing (Médiation) > Composants SetHeader (Médiation)
Qualité et préparation de données > Systèmes tiers > Composants Processing (Médiation) > Composants SetHeader (Médiation)
Last publication date
2024-02-21

Ce scénario s'applique uniquement à Talend ESB, Talend Data Services Platform, Talend MDM Platform, Talend Real-Time Big Data Platform et à Talend Data Fabric.

Pour plus de technologies supportées par Talend, consultez Composants Mediation de Talend.

Dans ce scénario, un message de fichier contenant des informations relatives à des personnes est divisé en sous-messages. Chaque sous-message est renommé selon le nom de la ville qu'il contient et est ensuite routé vers un autre endpoint.

Voici un exemple des fichiers XML utilisés dans ce scénario :

<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>

Un bean Java prédéfini, setFileNames, est appelé par le composant cSetHeader utilisé dans ce scénario pour définir un nom de fichier pour chaque message selon le nom de la ville qu'il contient. Pour plus d'informations concernant la création et l'utilisation de Beans Java, consultez Utilisation des 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";
		}
}