Scenario 1: Waiting for a file to be created and stopping the iteration loop after a message is triggered - 6.1

Talend Components Reference Guide

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
Talend Studio
Data Governance
Data Quality and Preparation
Design and Development

This scenario describes a Job that scans a directory and triggers a message showing file creation information on the console when a text file is created in that directory. Immediately after this, the scanning is ended, followed by another message showing the number of iterations finished.

Dropping and linking the components

  1. Drop three components from the Palette onto the design workspace: one tWaitForFile and two tJava components.

  2. Connect tWaitForFile to the first tJava using a Row > Iterate connection.

  3. Connect tWaitForFile to the second tJava using a Trigger > On Subjob Ok connection.

Configuring the components

  1. Double-click tWaitForFile to open its Basic settings view.

  2. In the Directory to scan field, enter the directory to be scanned.

  3. In the File mask field, enter "*.txt" to scan only text files.

  4. From the Trigger action when drop-down list, select a file is created to trigger the first tJava when a text file is created.

  5. From the Then drop-down list, select exit loop to stop the iteration loop immediately after the first tJava is triggered.

  6. Double-click the first tJava to open its Basic settings view.

  7. In the code area, type in the following code:

    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-click the second tJava to open its Basic settings view.

  9. In the code area, type in the following code:

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

Saving and executing the Job

  1. Press Ctrl+S to save the Job.

  2. Press F6 to execute the Job.

  3. Create a text file exit.txt in the defined directory.

    When a text file is created, a message about file creation is displayed on the Run console. The iteration loop is ended immediately after that, followed by another message showing the time the iteration loop is ended and the number of iterations executed.