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

Créer une Route communiquant avec un Job d'intégration

Cette section fournit un scénario expliquant comment utiliser les composants Camel, non inclus dans la Palette, au sein d'une Route et comment utiliser des sockets pour connecter un Job et une Route.

Dans ce scénario, vous allez créer un Job d'intégration de données qui écoute les messages d'un socket et redirige les messages vers un autre port. Ensuite, vous allez créer une Route envoyant un message de test au port d'écoute et enregistrant les modifications des messages des ports entrants et sortants. Ensuite, vous allez créer une Route envoyant un message de test au port d'écoute et enregistrant les modifications des messages des ports entrants et sortants.

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

Procédure

  1. Dans la perspective Integration du Studio Talend, créez un Job et ouvrez-le dans l'espace de modélisation graphique.
    Pour plus d'informations concernant la création d'un Job, consultez Créer un Job.
  2. Depuis la Palette, glissez-déposez un tSocketInput, un tSocketOutput et un tLogRow dans l'espace de modélisation graphique. Reliez-les à l'aide d'un lien Row > Main.
    Capture d'écran du Job dans l'espace de modélisation graphique.
  3. Double-cliquez sur le composant tSocketInput pour ouvrir sa vue Basic settings dans l'onglet Component.
    Vue Basic settings (Paramètres simples).
  4. Configurez le numéro du port d'écoute, dans le champ Port, 8900 par exemple. Par défaut, le serveur local est utilisé. Paramétrez le nombre de secondes du délai avant suspension du Job à 30000 dans le champ Timeout.
  5. Double-cliquez sur le composant tSocketOutput pour ouvrir sa vue Basic settings dans l'onglet Component.
    Vue Basic settings (Paramètres simples).
    Vue Basic settings (Paramètres simples).
  6. Saisissez l'adresse IP de votre hôte et le numéro du port, respectivement dans les champs Host (Hôte) et Port.
    Le composant tLogRow est utilisé pour monitorer les données traitées et ne nécessite pas de configuration particulière.
  7. Appuyez sur les touches Ctrl+S pour enregistrer le Job.

Créer une Route communiquant avec le Job

Procédure

  1. Créez une Route et ouvrez-la dans l'espace de modélisation graphique.
    Pour plus d'informations concernant la création d'une Route, consultez Créer une Route.
  2. Depuis la Palette, glissez-déposez un cSetBody et cinq cMessagingEndpoint dans l'espace de modélisation graphique. Renommez les composants afin de mieux identifier leur rôle et reliez-les à l'aide de liens Row > Main.
    Capture d'écran du Job dans l'espace de modélisation graphique.

Configurer la sous-route entrante

Procédure

  1. Double-cliquez sur le composant testMina pour ouvrir sa vue Basic settings dans l'onglet Component.
    Vue Basic settings (Paramètres simples).
  2. Dans le champ URI, saisissez le code "timer:testOneWayMina?delay=1000&period=2000" pour définir un délai avant le début des échanges de messages. Dans ce scénario, chaque message doit être livré après un délai d'une seconde, dans une période de deux secondes.
  3. Double-cliquez sur le composant initializeRequest pour ouvrir sa vue Basic settings dans l'onglet Component.
    Vue Basic settings (Paramètres simples).
  4. Sélectionnez Constant dans la liste Language et saisissez "test message\n" dans le champ Expression.
  5. Double-cliquez sur le composant logRequest pour ouvrir sa vue Basic settings dans l'onglet Component.
    Vue Basic settings (Paramètres simples).
  6. Dans le champ URI, saisissez "log:jobSocketIn", où les échanges de messages entrants sont enregistrés.
  7. Double-cliquez sur le composant jobSocketIn et cliquez sur l'onglet Advanced settings dans la vue Component.
    Vue Advanced settings (Paramètres avancés).
  8. Dans ce scénario, utilisez le composant Camel camel-mina en tant que transport. Pour utiliser ce composant, cliquez sur Add (Ajouter) au bas de la liste Dependencies (Dépendances) pour ajouter une ligne et sélectionnez mina dans la liste déroulante. Pour plus d'informations concernant Mina, consultez la documentation Apache Camel (en anglais).
    Vous pouvez également utiliser un composant cConfig et ajouter la bibliothèque de MINA à la liste Dependencies du composant cConfig. Pour ce faire, cliquez sur Add (Ajouter) au bas de la liste Dependencies (Dépendances) pour ajouter une ligne. Sélectionnez cette ligne et cliquez sur le bouton [...] pour ouvrir l'assistant [Select Module].
    Vue Basic settings (Paramètres simples).
    Sélectionnez camel-mina-alldep-2.9.2.jar dans les modules internes et cliquez sur OK pour l'ajouter à la liste Dependencies.
    Assistant Select Module (Sélectionner un module).
  9. Cliquez sur l'onglet Basic settings de la vue Component du jobSocketIn. Dans le champ URI, saisissez "mina:tcp://localhost:" + 8900 + "?textline=true&sync=false" pour envoyer le message à l'endpoint de Mina d'un service TCP sur le port 8900 en tant que ligne de texte (text line) en mode InOnly.
    Vue Basic settings (Paramètres simples).

Configurer la sous-route sortante

Procédure

  1. Double-cliquez sur le composant jobSocketOut pour ouvrir sa vue Basic settings dans l'onglet Component.
    Vue Basic settings (Paramètres simples).
  2. Dans le champ URI, saisissez "mina:tcp://localhost:" + 8901 + "?textline=true&sync=false" du socket sortant.
  3. Double-cliquez sur le composant logResponse pour ouvrir sa vue Basic settings dans l'onglet Component.
    Vue Basic settings (Paramètres simples).
  4. Dans le champ URI, saisissez "log:jobSocketOut", où les échanges de messages sortants sont enregistrés.
  5. Appuyez sur les touches Ctrl+S pour sauvegarder votre Route.

Visualiser le code et exécuter la Route et le Job

Procédure

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

    Comme affiché ci-dessus, le flux de messages provenant de testMina obtient un payload par le cSetBody et est envoyé aux logRequest et jobSocketIn. L'autre flux de messages est envoyé du jobSocketOut au logResponse.

  2. Appuyez sur F6 pour exécuter la Route, puis exécutez le Job de la même manière. La Route essaye de se connecter aux ports définis jusqu'au démarrage du Job.

    Le log de modification des messages des ports d'entrée et de sortie est affiché dans la console d'exécution de la Route.

    Console d'exécution de la Route.

    Du côté du Job, le message traité est également affiché dans la console.

    Console d'exécution du Job.

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.