cTalendJob

Composants Mediation Talend ESB Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Talend Data Fabric
Talend Open Studio for ESB
task
Création et développement
EnrichPlatform
Studio Talend

Propriétés du cTalendJob

Famille du composant

Talend

Fonction

Le composant cTalendJob appelle un Job d'intégration de données exporté en tant que bundle OSGI pour ESB, ou disponible dans le référentiel. Pour plus d'informations concernant la construction d'un Job et son export en tant que Bundle OSGi pour ESB, consultez le Guide utilisateur du Studio Talend.

Objectif

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

Basic settings

Repository

Sélectionnez cette option pour appeler un Job du Repository.

 ExternalSélectionnez cette option pour appeler un Job exporté en tant que bundle OSGI pour ESB.
 Repository/Use Selected ContextCe champ apparaît lorsque l'option Repository est sélectionnée. Cochez cette case pour utiliser le contexte sélectionné dans la liste Context lors de l'exécution du Job.
 Repository/Use Route Context

Ce champ apparaît lorsque l'option Repository est sélectionnée. Cochez cette case pour utiliser le contexte du Job du même nom que celui utilisé dans la Route lors de l'exécution du Job. S'il n'existe pas, le contexte par défaut du Job sera utilisé.

Note

Si le contexte n'existe pas dans le Job, les valeurs nulles des paramètres de contexte sont utilisées durant l'exécution du Job. Assurez-vous d'avoir le contexte requis dans le Job.

 Repository/Use Job ContextCe champ apparaît lorsque l'option Repository est sélectionnée. Cochez cette case pour utiliser le contexte sélectionné du Job lors de l'exécution du Job.
 Repository/Job

Ce champ apparaît lorsque l'option Repository est sélectionnée. Cliquez sur [...] pour afficher l'assistant [Assign Job]. Sélectionnez Create a new Job and Assign it to this cTalendJob component ou Assign an existing Job to this cTalendJob component et suivez les consignes qui s'affichent.

Avertissement

Lorsque vous assignez un Job existant au cTalendJob, seuls les Jobs contenant un tRouteInput peuvent être sélectionnés.

Vous pouvez double-cliquer sur le cTalendJob pour ouvrir le Job référencé dans la perspective Mediation, ou cliquer-droit sur le cTalendJob et sélectionner Open Job in Integration dans le menu contextuel afin de passer en perspective Integration et d'ouvrir le Job.

 Repository/VersionCe champ apparaît lorsque l'option Repository est sélectionnée. Sélectionnez la version du Job si plus d'une version du Job est disponible.
 Repository/Context

Ce champ apparaît lorsque l'option Repository est sélectionnée. Sélectionnez dans la liste le contexte à utiliser pour exécuter le Job référencé.

Avertissement

Cette option fonctionne uniquement lorsque l'option Use Selected Context est sélectionnée.

 

External Jar/Library

Ce champ apparaît lorsque l'option External est sélectionnée. Sélectionnez dans la liste la bibliothèque que vous souhaitez importer ou cliquez sur le bouton [...] pour importer la bibliothèque jar de votre Job.

 

External Jar/Job

Saisissez le nom du package et le nom de votre Job séparés par un point. Par exemple : route_project.txmlmap_0_1.tXMLMap. Pour obtenir ce nommage, ouvrez la bibliothèque jar de votre Job, allez à OSGI-INF > blueprint et éditez le fichier .xml du Job. Le nommage est disponible dans le nœud d'un bean comme <bean id="job" class="route_project.txmlmap_0_1.tXMLMap"/>.

 

External Jar/Context

Ce champ apparaît lorsque l'option External est sélectionnée. Saisissez le nom du contexte à utiliser pour exécuter le Job référencé.

 Context Param

Utilisez cette table pour modifier les valeurs des variables du contexte spécifié dans le Job référencé.

Cliquez sur le bouton [+] pour ajouter autant de lignes que nécessaire à la table. Sélectionnez la variable de contexte que vous souhaitez modifier dans la liste Parameters de chaque ligne et saisissez la valeur à donner dans le champ Values. Cette valeur remplace la valeur définie du côté du Job.

Advanced settingsPropagate HeaderCochez cette case pour passer l'en-tête du message au Job référencé en tant que variable de contexte.

Utilisation

Le cTalendJob peut être utilisé en tant que composant de début, composant intermédiaire ou composant de fin dans une Route. Lorsque vous créez un Job d'intégration de données, vous devez utiliser un composant tRouteInput afin d'éviter que le Job référencé démarre automatiquement lorsqu'il est déployé dans Talend Runtime. Ainsi, le Job démarre lorsqu'il est appelé par la Route.

Scénario : Utiliser un cTalendJob pour appeler un Job d'intégration de données

Dans ce scénario, vous allez construire un Job d'intégration de données avec contexte, dans la perspective Integration. Vous allez ensuite créer une Route dans la perspective Mediation avec un composant cTalendJob pour appeler le Job et définir les variables de contexte dans ce Job.

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

Dans cette section, construisez un Job nommé RouteCommunication pour accepter le message provenant d'une Route. Pour plus d'informations concernant la conception d'un Job, consultez le Guide utilisateur du Studio Talend.

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

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

Configurer les composants
  1. Créez deux variables, header et body dans le groupe de contexte Default. Donnez la valeur world à la variable body. La variable header reçoit sa valeur propagée depuis la Route. Pour plus d'informations concernant la configuration des contextes, consultez le Guide utilisateur du Studio Talend.

  2. Double-cliquez sur le tRouteInput pour ouvrir sa vue Basic settings.

  3. 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 deux lignes de type String et nommez-les respectivement header et body. Cliquez sur OK pour fermer la boîte de dialogue.

  4. Dans le champ Simple Expression de l'élément header, saisissez context.header pour utiliser la variable header dans le groupe de contexte à propager depuis la Route.

    Dans le même champ pour l'élément body, saisissez context.body pour utiliser la variable body dans le groupe de contexte comme corps de message.

  5. Le composant tLogRow va monitorer les échanges de messages et ne nécessite aucune configuration.

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

Créer une Route de médiation

Dans cette section, vous allez passer en perspective Mediation et créer une Route envoyant un message au Job.

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

  2. Reliez les composants à l'aide de liens Row > Route.

  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. Configurez les valeurs des champs Period, Repeat et Delay, respectivement 200, 1 et 1000 afin de déclencher un échange de messages après un délai de 1000 millisecondes.

  3. Double-cliquez sur le composant cSetHeader pour afficher sa vue Basic settings.

  4. Cliquez sur le bouton [+] pour ajouter une ligne à la table Headers.

    Dans le champ Name, saisissez "header" comme nom d'en-tête.

    Sélectionnez Constant dans la liste Language et saisissez "FileName" dans le champ Value.

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

  6. Sélectionnez Repository dans la zone supérieure pour appeler un Job du référentiel.

  7. Dans la zone Repository Job, sélectionnez Use Selected Context.

    Cliquez sur le bouton [...] à côté du champ Job pour ouvrir l'assistant [Assign Job]. Sélectionnez Assign an existing Job to this cTalendJob component et cliquez sur Next.

    Dans la vue Job selection, sélectionnez RouteCommunication, le Job créé précédemment, puis cliquez sur Finish.

    RouteCommunication s'affiche dans le champ Job. Par défaut, la dernière version de ce Job est chargée, ainsi que son contexte par défaut.

  8. Cliquez sur le bouton [+] sous la table Context Param pour y ajouter une ligne.

    La liste Parameters contient les variables du groupe de contexte par défaut du Job référencé. Sélectionnez body dans la liste.

    Saisissez "Hello World!" dans le champ Values. Cela remplace la valeur world définir dans le contexte du Job.

  9. Cliquez sur l'onglet Advanced settings. Cochez la case Propagate Header pour passer l'en-tête défini dans le cSetHeader au Job en tant que variable de contexte.

  10. Appuyez sur Ctrl+S pour sauvegarder votre Route.

Visualiser le code et exécuter la Route

  1. Cliquez sur l'onglet Code au bas de l'espace de modélisation graphique afin de visualiser le code généré.

    Comme affiché ci-dessus, une route de message est construite depuis Starter, configure un message header via le cSetHeader et l'envoie au cTalendJobpur exécution du Job.

  2. Appuyez sur F6 pour exécuter la Route.

    Comme affiché ci-dessus, l'en-tête et le corps du message sont affichés dans la console par le tLogRow. La valeur de l'en-tête est FileName, elle est définie par le cSetHeader et passée au Job en tant que variable de contexte. La valeur du corps est Hello World!, elle est définie par le composant tRouteInput via la variable de contexte body du Job. La valeur de cette variable est définie comme world dans le Job, mais est modifiée en Hello World! dans le cTalendJob.