Catching the message triggered by a tDie component - 6.3

Talend Open Studio for Big Data Components Reference Guide

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Big Data
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

This example shows you how to use the tLogCatcher component to catch the message triggered by a tDie component.

Creating a Job for catching the message triggered by a tDie component

Create a Job to trigger a message using the tDie component, then catch the message using the tLogCatcher component and display the message on the console.

  1. Create a new Job and add a tRowGenerator component, a tFileOutputDelimited component, a tDie component, a tJava component, a tLogCatcher component, and a tLogRow component by typing their names in the design workspace or dropping them from the Palette.

  2. Link the tRowGenerator component to the tFileOutputDelimited component using a Row > Main connection.

  3. Link the tFileOutputDelimited component to the tDie component using a Trigger > Run if connection.

  4. Link the tRowGenerator component to the tJava component using a Trigger > On Subjob Ok connection.

  5. Link the tLogCatcher component to the tLogRow component using a Row > Main connection.

Configuring the Job for catching the message triggered by the tDie component

Configure the components used in the Job that catches the message triggered by the tDie component and then displays the message on the console.

  1. Double-click the tRowGenerator component to open its row generator editor.

  2. Define the schema by adding one column id of Integer type, and select the predefined function Numeric.sequence(String,int,int) in the Functions column.

  3. Enter the number of rows to be generated in the Number of Rows for RowGenerator field, 0 in this example. When done, click OK to close the dialog box.

  4. Double-click the tFileOutputDelimited component to open its Basic settings view, and in the File Name field, specify the path to the file that will hold the data to be generated.

  5. Click the If connection, and in the Condition field on the Basic settings view, specify the condition based on which the tDie component will be triggered. In this example, it is ((Integer)globalMap.get("tRowGenerator_1_NB_LINE")) <=0, which means the tDie component will be triggered when the number of rows to be generated is less than or equal to zero.

  6. Double-click the tDie component to open its Basic settings view, and in the Die message field, enter the message to be triggered before the Job is killed. In this example, it is no row generated.

  7. Double-click the tJava component to open its Basic settings view, and in the Code field, enter

    System.out.println("The number of rows generated is " + ((Integer)globalMap.get("tRowGenerator_1_NB_LINE")) + ". #This message will not be displayed if no row is generated.");

    Note that this message will be displayed only when the number of rows generated is greater than zero. In this example, the number of rows to be generated is 0, so the Job will be killed and this message will not be displayed.

  8. Double-click the tLogCatcher component to open its Basic settings view and select the Catch tDie check box to catch the message triggered by the tDie component.

  9. Double-click the tLogRow component to open its Basic settings view, and then select Table (print values in cells of a table) in the Mode area for better readability of the result.

Executing the Job to catch the message triggered by the tDie component

After setting up the Job and configuring the components used in the Job for catching the message triggered by the tDie component, you can then execute the Job and verify the Job execution result.

  1. Press Ctrl + S to save the Job.

  2. Press F6 to execute the Job.

    As shown above, the message triggered is collected and displayed on the console.

  3. Change the number of rows to be generated (10 for example) in the Number of Rows for RowGenerator field of the tRowGenerator component, save and execute the Job again to find a different result.