Routage de chaque message selon des conditions vers une série d'endpoints - 7.3

Routing Slip (Mediation)

Version
7.3
Language
Français
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
Studio Talend
Content
Création et développement > Systèmes tiers > Composants Routing (Médiation) > Composants Routing Slip (Médiation)
Gouvernance de données > Systèmes tiers > Composants Routing (Médiation) > Composants Routing Slip (Médiation)
Qualité et préparation de données > Systèmes tiers > Composants Routing (Médiation) > Composants Routing Slip (Médiation)
Last publication date
2023-06-14

Ce scénario s'applique uniquement à Talend Open Studio for ESB, 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, basé sur le précédent, chaque message d'un système de fichiers est routé consécutivement vers différents endpoints selon le nom de la ville qu'il contient.

Tous les fichiers utilisés dans ce scénario sont nommés d'après le nom de la ville qu'ils contiennent. Voici des extraits de deux exemples :

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>

Un Bean Java prédéfini, setEndpoints, est appelé dans ce scénario pour retourner des URIs d'endpoints selon le nom de la ville contenu dans chaque message, afin que les messages soient routés comme suit :

  • Le message contenant le nom de la ville de Paris sera d'abord routé vers l'endpoint a, puis vers l'endpoint b et finalement vers l'endpoint c.

  • Le message contenant le nom de la ville de Beijing sera d'abord routé vers l'endpoint c puis vers l'endpoint a et finalement vers l'endpoint b.

  • Les autres messages seront routés vers l'endpoint b, puis vers l'endpoint c.

Pour plus d'informations concernant la création et l'utilisation de Bean Java, consultez le Guide d'utilisation de Studio Talend.

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";
	}
}