Scénario 1 : Attendre la création d'un fichier et arrêter l'itération après le déclenchement d'un message - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
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
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit un Job scannant un répertoire et déclenchant un message affichant dans la console les informations de création d'un fichier lorsqu'un fichier texte est créé dans ce répertoire. Le scan prend fin et un autre message affiche le nombre d'itérations terminées.

Construire le Job

  1. Glissez-déposez trois composants de la Palette dans l'espace de modélisation graphique : un tWaitForFile et deux composants tJava.

  2. Reliez le tWaitForFile au premier tJava à l'aide d'un lien Row > Iterate.

  3. Reliez le tWaitForFile au second tJava à l'aide d'un lien Trigger > On Subjob Ok.

Configurer les composants

  1. Double-cliquez sur le tWaitForFile pour ouvrir sa vue Basic settings.

  2. Dans le champ Directory to scan, saisissez le nom du répertoire à scanner.

  3. Dans le champ File mask, saisissez "*.txt" pour scanner uniquement les fichiers texte.

  4. Dans la liste déroulante Trigger action when, sélectionnez a file is created afin de déclencher le premier tJava lorsqu'un fichier texte est créé.

  5. Dans la liste déroulante Then, sélectionnez exit loop afin d'arrêter la boucle itérative dès que le premier tJava a été déclenché.

  6. Double-cliquez sur le premier tJava pour ouvrir sa vue Basic settings.

  7. Dans le champ Code, saisissez le code suivant :

    System.out.println("A file was created at " + TalendDate.getCurrentDate());
    System.out.println("Name of the created file: " + ((String)globalMap.get("tWaitForFile_1_CREATED_FILE")));
  8. Double-cliquez sur le second tJava pour ouvrir sa vue Basic settings.

  9. Dans le champ code, saisissez le code suivant :

    System.out.println("\r\nIteration loop ended at " + TalendDate.getCurrentDate());
    System.out.println("Number of iterations finished: " +  ((Integer)globalMap.get("tWaitForFile_1_CURRENT_ITERATION")));

Sauvegarder et exécuter le Job

  1. Appuyez sur les touches Ctrl+S pour sauvegarder le Job.

  2. Appuyez sur F6 pour exécuter le Job.

  3. Créez un fichier texte exit.txt dans le répertoire spécifié.

    Lorsqu'un fichier texte est créé, un message concernant la création du fichier apparaît dans la console de la vue Run. L'itération se termine immédiatement et est suivie d'un autre message affichant l'heure de fin de la boucle itérative et le nombre d'itérations effectuées.