Créer une Route pour utiliser une map externe
Créez une Route et configurez les composants pour créer et utiliser des variables de map externes.
Procédure
- Dans la perspective Integration, cliquez-droit sur le nœud Route Designs et cliquez sur Create Route.
- Saisissez un nom (Name), un objectif (Purpose) et une Description pour votre Route, puis cliquez sur Finish.
-
Ajoutez les composants suivants dans l'espace de modélisation graphique et reliez-les à l'aide de liens Row > Route :
- un cTimer
- un cProcessor
- un cSetBody
- un cMap
- un cLog
- un second cProcessor
Votre Route doit ressembler à ceci : -
Double-cliquez sur le premier composant cProcessoret configurez-le comme suit :
Paramètre Valeur Importer import java.util.*;
Code Map<String, Object> externalMap = new HashMap<>(); externalMap.put("current.date",TalendDate.getCurrentDate()); Map<String, Object> executionProperties = exchange.getIn().getHeaders(); if (executionProperties==null){ executionProperties = new HashMap<>(); exchange.getIn().setHeaders(executionProperties); } executionProperties.put("org.talend.transform.externalmap", externalMap);
Ce code vous permet de créer une variable de map externe nommée current.date, que vous pouvez utiliser dans votre map.
-
Double-cliquez sur le composant cSetBodyet configurez-le comme suit :
Paramètre Valeur langue Constant Expression "<orders><order><orderId>abc-6545165186</orderId><shippingDetails><lastName>Kennedy</lastName><firstName>John</firstName><street>Santa Rosa South</street><city>Columbus</city><state>New York</state></shippingDetails><items><item><id>4987601</id><price>649.99</price><quantity>1</quantity></item><item><id>8570817</id><price>99.99</price><quantity>3</quantity></item></items></order></orders>" -
Double-cliquez sur le second composant cProcessoret configurez-le comme suit :
Paramètre Valeur Code Map<String, Object> executionProperties = exchange.getIn().getHeaders(); if (executionProperties==null){ executionProperties = new HashMap<>(); exchange.getIn().setHeaders(executionProperties); } Map<String, Object> externalMap = (Map<String, Object>)executionProperties.get("org.talend.transform.externalmap"); System.out.println("Order ID: " + (String)externalMap.get("order.id")); System.out.println("Order due date: " + (String)externalMap.get("due.date"));
Ce code vous permet d'afficher les variables de map externes order.id et due.date que vous définirez dans votre map.
Résultats
Cette page vous a-t-elle aidé ?
Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.