July 30, 2023

tRouteFault – Docs for ESB 7.x

tRouteFault

Sends messages from a Data Integration Job to a Mediation Route and mark the
message as fault.

tRouteFault Standard properties

These properties are used to configure tRouteFault running in the Standard Job framework.

The Standard
tRouteFault component belongs to the ESB family.

This component is relevant only when used with one of the
Talend
solutions with ESB, as it should be used with the Service Repository node and the Data Service creation related wizard(s).

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. When you create a Spark
Job, avoid the reserved word line when naming the
fields.

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

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

Usage rule

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.

Exchanging messages between a Job and a Route

This scenario applies only to Talend Open Studio for ESB, Talend Data Services Platform and Talend Data Fabric.

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.

Creating an Data Integration Job

In this section, a Job named RouteCommunication_tRouteFault is
built.

Arranging the
flow of the
message

tRouteFault_1.png

  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 how the
message is
processed

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

    tRouteFault_2.png

  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.

    tRouteFault_3.png

  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.

    tRouteFault_4.png

  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 create a Route to send a message to the Job and handle the fault
message.

Dropping and linking the components

tRouteFault_5.png

  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.

    tRouteFault_6.png

  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.

    tRouteFault_7.png

  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.

    tRouteFault_8.png

  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.

    tRouteFault_9.png

  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.

    tRouteFault_10.png

  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.

    tRouteFault_11.png

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

  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:

tRouteFault_12.png


Document get from Talend https://help.talend.com
Thank you for watching.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x