tRouteFault - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tRouteFault

Avertissement

Ce composant est disponible pour les utilisateurs du Studio Talend avec option ESB.

Famille du composant

ESB/Route

 

Fonction

Le composant tRouteFault envoie des messages d'un Job à une Route et marque les messages comme Fault (en erreur)

Objectif

Le tRouteFault vous permet d'échanger des messages entre un Job d'intégration de données et une Route de médiation.

Basic settings

Output Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) qui sont traités et passés au composant suivant. Le schéma est soit local (Built-In), soit distant dans le Repository.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

Cliquez sur Sync columns afin de récupérer automatiquement les colonnes du composant précédent.

 

 

Built-in : Le schéma sera créé et conservé pour ce composant seulement.

 

 

Repository : Le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé.

 

Camel

Saisissez les paramètres de message correspondant aux colonnes définies dans le schéma via le bouton Edit schema.

 

Type

Choisissez le type :

Body : Utilisé pour configurer le corps d'une Route, équivaut au code exchange.getOut().setBody(...).

Property : Utilisé pour configurer la propriété d'une Route, équivaut au code exchange.setProperty(name, value).

System : Utiliser pour configurer la propriété du système, équivaut au code System.setProperty(name, value).

Header : Utilisé pour configurer l'en-tête de la sortie, équivaut au code exchange.getOut().setHeader(name, value).

 

Name

Cette colonne est utilisée pour configurer le nom du paramètre lorsque son type est Property, System ou Header. Cette colonne est ignorée lorsque son type est Body.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log, aussi bien au niveau du Job qu'au niveau de chaque composant.

Global Variables 

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est utilisé comme composant de fin et nécessite un composant d'entrée.

Limitation

Un Job utilisant un tRouteFault doit être lancé dans une Route comprenant le composant cTalendJob.

Scénario : Échanger des messages entre un Job et une Route

Ce scénario décrit comment échanger des messages entre un Job et une Route à l'aide des composants tRouteInput et tRouteFault. Pour ce faire, un Job est créé pour recevoir un message d'une Route et marquer le message comme Fault, en erreur. Une Route est construite pour envoyer le message au Job et gérer le message en erreur.

Pour plus d'informations concernant les composants Mediation, consultez le Guide de référence des Composants Mediation de Talend ESB.

Créer un Job d'intégration de données

Dans cette section, un Job nommé RouteCommunication_tRouteFault est construit dans la perspective Mediation du Studio.

Déposer et relier les composants
  1. Glissez-déposez un tRouteInput et un tRouteFault de la Palette dans l'espace de modélisation graphique.

  2. Cliquez-droit sur le tRouteInput, sélectionnez Row > Main dans le menu contextuel et cliquez sur le composant tRouteFault.

Configurer les composants
  1. Double-cliquez sur le tRouteInput pour ouvrir sa vue Basic settings.

  2. Cliquez sur le bouton [...] à côté du champ Edit Schema. Dans la boîte de dialogue du schéma, cliquez sur le bouton [+] pour ajouter une ligne de type String, que vous nommez body. Cliquez sur OK pour fermer la boîte de dialogue.

  3. Dans le champ Simple Expression de l'élément body, saisissez "${in.body}" pour obtenir le corps du message d'entrée de la Route.

  4. Double-cliquez sur le composant tRouteFault pour afficher sa vue Basic settings.

  5. Assurez-vous que le tRouteFault a bien un élément body. Configurez son type à Body.

  6. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Job.

Créer une Route de Médiation

Dans cette section, passez en perspective Mediation et créez une Route pour envoyer un message au Job et gérer le message en erreur.

Glisser et relier les composants
  1. Glissez-déposez un cTimer, un cSetBody, un cJavaDSLProcessor, un cTalendJob, un cOnException et un cProcessor de la Palette dans l'espace de modélisation graphique.

  2. Reliez les composants à l'aide de liens Row > Route, comme dans la capture d'écran ci-dessus.

  3. Renommez les composants afin de mieux identifier leur rôle au sein de la Route.

Configurer les composants
  1. Double-cliquez sur le cTimer pour ouvrir sa vue Basic settings.

  2. Saisissez 1 dans le champ Repeat afin de déclencher une fois un échange de message.

  3. Double cliquez sur le cSetBody pour afficher sa vue Basic settings.

  4. Sélectionnez Simple dans la liste Language et saisissez Hello! dans le champ Expression.

  5. Double-cliquez sur le composant cJavaDSLProcessor pour ouvrir sa vue Basic settings.

  6. Saisissez .handleFault() dans le champ Code pour que le message en erreur soit pris en compte comme une exception.

  7. Double-cliquez sur le cTalendJob pour afficher sa vue Basic settings.

  8. Sélectionnez Repository, puis choisissez le Job RouteCommunication_tRouteFault afin d'appeler le Job créé dans la section précédente.

  9. Double-cliquez sur le composant cOnException pour afficher sa vue Basic settings.

  10. Cliquez sur le bouton [+] pour ajouter une ligne à la table Exceptions et saisissez org.apache.camel.CamelException dans le champ Exception pour gérer les exceptions.

  11. Double-cliquez sur le cProcessor pour afficher sa vue Basic settings.

  12. Personnalisez le code dans le champ Code pour afficher le corps du message :

    System.out.println(exchange.getIn());

  13. Appuyez sur les touches Ctrl+S afin de sauvegarder votre Route.

Exécuter la Route

Cliquez sur la vue Run pour l'afficher et cliquez sur le bouton Run pour démarrer l'exécution de la Route. Vous pouvez également appuyer sur F6 pour l'exécuter.

Le message Hello! est envoyé de la Route au Job et récupérée comme une exception :