tRouteFault - 6.1

Talend Components Reference Guide

EnrichVersion
6.1
EnrichProdName
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
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

tRouteFault properties

Warning

This component is available only to users of Talend Studio with ESB.

Component family

ESB/Route

 

Function

tRouteFault sends messages from a Job to a Route and mark the message as fault.

Purpose

tRouteFault allows you to exchange messages between a Data Integration Job and a Mediation Route.

Basic settings

Output Schema and Edit schema

A schema is a row description. It defines the number of fields (columns) to be processed and passed on to the next component. The schema is either Built-In or stored remotely in the Repository.

Click Edit schema to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this option to view the schema only.

  • Change to built-in property: choose this option to change the schema to Built-in for local changes.

  • Update repository connection: choose this option to change the schema stored in the repository and decide whether to propagate the changes to all the Jobs upon completion. If you just want to propagate the changes to the current Job, you can select No upon completion and choose this schema metadata again in the [Repository Content] window.

Click Sync columns to retrieve the schema from the previous component connected in the Job.

 

 

Built-in: No property data stored centrally.

 

 

Repository: Select the Repository file where Properties are stored.

 

Camel

Enter the message parameters corresponding to the columns you defined in the schema dialog box via the Edit schema button.

 

Type

Select between:

Body: Used to set the body of a Route, equals the code exchange.getOut().setBody(...).

Property: Used to set the property of a Route, equals the code exchange.setProperty(name, value).

System: Used to set the system property, equals the code System.setProperty(name, value).

Header: Used the set the output header, equals the code exchange.getOut().setHeader(name, value).

 

Name

This column is used to set the name for the parameter when its type is either Property, System or Header. This column is ignored when the type is Body.

Advanced settings

tStatCatcher Statistics

Select this check box to gather the Job processing metadata at a Job level as well as at each component level.

Global Variables 

ERROR_MESSAGE: the error message generated by the component when an error occurs. This is an After variable and it returns a string. This variable functions only if the Die on error check box is cleared, if the component has this check box.

A Flow variable functions during the execution of a component while an After variable functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl + Space to access the variable list and choose the variable to use from it.

For further information about variables, see Talend Studio User Guide.

Usage

This component can be used as the end component and thus requires an input component.

Limitation

The Job using a tRouteFault must be launched only within a Route using the cTalendJob component.

Scenario: Exchanging messages between a Job and a Route

This scenario describes how to exchange messages between a Job and a Route using the tRouteInput and the tRouteFault component. To do this, a Job is created to receive the message from the Route and mark the message as fault. Then a Route is built to send the message to the Job and handle the fault message.

For more information about how to use the Mediation components, see Talend ESB Mediation Components Reference Guide.

Creating an Data Integration Job

In this section, a Job named RouteCommunication_tRouteFault is built in the Mediation perspective of the Studio.

Dropping and linking the components
  1. Drag and drop a tRouteInput and a tRouteFault from the Palette onto the design workspace.

  2. Right-click the tRouteInput component, select Row > Main from the contextual menu and click the tRouteFault component.

Configuring the components
  1. Double-click the tRouteInput component to open its Basic settings view in the Component tab.

  2. Click the three-dot button next to Edit Schema. In the schema dialog box, click the plus button to add a new line of String type and name it body. Click OK to close the dialog box.

  3. In the Simple Expression field for the body element, enter "${in.body}" to get the body of the input message from the Route.

  4. Double-click the tRouteFault component to display its Basic settings view in the Component tab.

  5. Make sure that tRouteFault has one element body. Set its type to Body.

  6. Press Ctrl+S to save your Job.

Creating a Mediation Route

In this section, we will switch to the Mediation perspective and create a Route to send a message to the Job and handle the fault message.

Dropping and linking the components
  1. Drag and drop a cTimer, a cSetBody, a cJavaDSLProcessor, a cTalendJob, a cOnException and a cProcessor component from the Palette onto the design workspace.

  2. Link the components with the Row > Route connection as shown above.

  3. Label the components for better identification of their roles.

Configuring the components
  1. Double-click the cTimer component to open its Basic settings view in the Component tab.

  2. Enter 1 in the Repeat field to trigger a message exchange one time.

  3. Double-click the cSetBody component to display its Basic settings view in the Component tab.

  4. Select Simple from the Language list and enter Hello! in the Expression field.

  5. Double-click the cJavaDSLProcessor component to open its Basic settings view in the Component tab.

  6. Enter .handleFault() in the Code box so that the fault message will be caught as an exception.

  7. Double-click the cTalendJob component to display its Basic settings view in the Component tab.

  8. Select Job RouteCommunication_tRouteFault from the repository to call the Job that is created in the previous section.

  9. Double click the cOnException component to display its Basic settings view in the Component tab.

  10. Click [+] to add a line to the Exceptions table, and enter org.apache.camel.CamelException in the Exception field to handle the exceptions.

  11. Double-click the cProcessor component to display its Basic settings view in the Component tab.

  12. Customize the code in the Code area to show the message body:

    System.out.println(exchange.getIn());

  13. Press Ctrl+S to save your Route.

Executing the Route

Click the Run view to display it and click the Run button to launch the execution of your Route. You can also press F6 to execute it.

The message Hello! is sent from the Route to the Job and caught as exception: