Accéder au contenu principal Passer au contenu complémentaire

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

  1. Dans la perspective Integration, cliquez-droit sur le nœud Route Designs et cliquez sur Create Route.
  2. Saisissez un nom (Name), un objectif (Purpose) et une Description pour votre Route, puis cliquez sur Finish.
  3. 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 :
  4. 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.

  5. 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>"
  6. 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

Votre Route est configurée, vous pouvez générer et configurer votre map.

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 – dites-nous comment nous améliorer !