L'exemple ci-dessous présente comment partager une valeur entre différents Jobs via la routine précédemment définie.
Procédure
-
Créez un Job nommé childJob1 et ajoutez-y deux composants en saisissant leur nom dans l'espace de modélisation graphique, ou en les déposant depuis la Palette dans l'espace de modélisation graphique :
- un tFixedFlowInput pour générer le flux des données d'entrée,
- un tJavaRow pour recevoir les données et dans lequel le Job appelle la méthode pour donner une nouvelle valeur à la variable.
- Double-cliquez sur le tFixedFlowInput pour ouvrir sa vue Basic settings.
-
Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir la fenêtre Schema et définir le schéma des données d'entrée. Dans cet exemple, le schéma contient une seule colonne name de type String.
-
Dans la zone Mode, sélectionnez l'option Use Single Table et définissez la valeur correspondante pour la colonne message dans la table Values. Dans cet exemple, la valeur est "Talend".
Remarque : Le composant tJava appelle la méthode getter et attribue la valeur de retour à une variable de type String, puis affiche la valeur de la variable dans la console.
- Double-cliquez sur le composant tJavaRow pour ouvrir sa vue Basic settings.
-
Dans la zone Code, saisissez le code suivant pour ajouter la méthode setter.
MyRoutine.setValue(input_row.name);
- Créez un Job nommé childJob2 puis créez un composant tJava dans ce Job.
- Double-cliquez sur le composant tJava pour ouvrir sa vue Basic settings.
-
Dans la zone Code, saisissez le code suivant pour ajouter la méthode getter.
String name=MyRoutine.getValue(); System.out.println(name);