July 30, 2023

tJMSOutput – Docs for ESB 7.x

tJMSOutput

Creates an interface between a Java application and a Message-Oriented middleware
system.

Using a JMS server, tJMSOutput makes it possible to
have loosely coupled, reliable, and asynchronous communication between different
components in a distributed application.

For further information, see the section about messaging brokers supported by Talend messaging components in Talend Data Fabric Studio User Guide.

Depending on the Talend
product you are using, this component can be used in one, some or all of the following
Job frameworks:

tJMSOutput Standard properties

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

The Standard
tJMSOutput component belongs to the Internet family.

The component in this framework is available in all Talend
products
.

Basic settings

Module List

Select the library to be used from the list.

Context Provider

Type in the context URL, for example com.tibco.tibjms.naming.TibjmsInitialContextFactory. However, be
careful, the syntax can vary according to the JMS server used.

Server URL

Type in the server URL, respecting the syntax,
for example tibjmsnaming://localhost:7222.

Connection Factory JDNI
Name

Type in the JDNI name.

Use Specified User
Identity

If you have to log in, select the check box and
type in your login and password.

To enter the password, click the […] button next to the
password field, and then in the pop-up dialog box enter the password between double quotes
and click OK to save the settings.

Message Type

Select the message type, either: Topic or Queue.

To

Type in the message target, as expected by the
server.

Processing Mode

Select the processing mode for the
messages.

Raw Message or
Message Content

Schema and Edit Schema

A schema is a row description, it defines the
number of fields that will be processed and passed on to the next
component.

The tJMSOutput schema is read-only. It is made of one column:
Message

Advanced settings

Delivery Mode

Select a delivery mode from this list to ensure
the quality of data delivery:

Not Persistent: This
mode allows data loss during the data exchange.

Persistent: This mode
ensures the integrity of message delivery.

Properties

Click the plus button underneath the table to
add lines and provide JDNI InitialContext properties (for example, username and
password for user authentication) in the lines.

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.

NB_LINE: the number of rows read by an input component or
transferred to an output component. This is an After variable and it returns an
integer.

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 is generally used as an output
component. It must be linked to an input component.

Limitation

Make sure the JMS server is launched.

Due to license incompatibility, one or more JARs required to use
this component are not provided. You can install the missing JARs for this particular
component by clicking the Install button
on the Component tab view. You can also
find out and add all missing JARs easily on the Modules tab in the
Integration
perspective of your studio. You can find more details about how to install external modules in
Talend Help Center (https://help.talend.com)
.

Enqueuing/dequeuing a message on the ActiveMQ server

In this scenario, JMSOutput sends a
message to a queue on the ActiveMQ server, which is then retrieved by JMSInput. This message is finally displayed on the console via
tLogRow.

Linking the components

  1. Drop tFixedFlowInput, JMSOutput, JMSInput, and tLogRow onto
    the workspace.
  2. Link tFixedFlowInput to JMSOutput using a Row > Main
    connection.
  3. Link tFixedFlowInput to JMSInput using the OnSubjobOk trigger.
  4. Link JMSInput to tLogRow using a Row >
    Main connection.

    tJMSOutput_1.png

Configuring the components

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

    tJMSOutput_2.png

    Select Use Inline Content (delimited
    file)
    in the Mode
    area.
    In the Content field, enter the content
    of the message to be sent to the ActiveMQ server:
  2. Click the Edit schema button to open the
    schema editor.

    tJMSOutput_3.png

  3. Click the [+] button to add one column,
    namely messageContent, of the string
    type.

    Click OK to validate the setup and close
    the editor.
  4. Now appears the pop-up box that asks for schema propogation.

    tJMSOutput_4.png

    Click Yes to propagate the schema to the subsequent
    component.
  5. Double-click JMSOutput to open its
    Basic settings view.

    tJMSOutput_5.png

  6. In the Module List list, select the
    library to be used, namely the activemq
    jar in this case.
  7. In the Context Provider field, enter the
    context URI, “org.apache.activemq.jndi.ActiveMQInitialContextFactory” in
    this case.
  8. In the Server URL field, enter the
    ActiveMQ Server URI.
  9. In the Connection Factory JDNI Name
    field, enter the JDNI name, “QueueConnectionFactory” in this case.
  10. Select the Use Specified User Identity
    check box to show the User Name and
    Password fields, where you can enter
    the authentication data.
  11. In the Message type list, select Queue.
  12. In the Processing Mode list, select Message Content.
  13. Perform the same setup in the Basic
    settings
    view of JMSInput.

    tJMSOutput_6.png

Executing the Job

  1. Press Ctrl + S to save the Job.
  2. Press F6 to run the Job. Note that the
    ActiveMQ server has started at tcp://192.168.30.46:61616.

    tJMSOutput_7.png

    As shown above, the message is correctly transferred and displayed.

tJMSOutput properties for Apache Spark Streaming

These properties are used to configure tJMSOutput running in the Spark Streaming Job framework.

The Spark Streaming
tJMSOutput component belongs to the Messaging family.

The streaming version of this component is available in Talend Real Time Big Data Platform and in
Talend Data Fabric.

Basic settings

Module List

Select the library to be used from the list.

Context Provider

Type in the context URL, for example com.tibco.tibjms.naming.TibjmsInitialContextFactory.
However, be careful, the syntax can vary according to the JMS server
used.

Server URL

Type in the server URL, respecting the syntax, for example tibjmsnaming://localhost:7222.

Connection Factory JDNI Name

Type in the JDNI name.

Use Specified User Identity

If you have to log in, select the check box and type in your login and
password.

To enter the password, click the […] button next to the
password field, and then in the pop-up dialog box enter the password between double quotes
and click OK to save the settings.

Message Type

Select the message type, either: Topic or Queue.

To

Type in the message target, as expected by the server.

Processing Mode

Select the processing mode for the messages.

Raw Message or Message Content

Schema and Edit
Schema

A schema is a row description, it defines the number of fields that
will be processed and passed on to the next component.

The tJMSOutput schema is read-only.
It is made of one column: message when
the processing mode is Raw Message or
messageContent when this mode is
Message Content.

Since the message column requires
valid JMS messages as input, you need to use a tJava component to write these JMS messages, while when the
messageContent column is used, you can
use a Write component to provide data.

Advanced settings

Delivery Mode

Select a delivery mode from this list to ensure the quality of data
delivery:

Not Persistent: This mode allows data
loss during the data exchange.

Persistent: This mode ensures the
integrity of message delivery.

Use SSL/TLS

Select this check box to enable the SSL or TLS encrypted connection.

Then you need to use the tSetKeystore
component in the same Job to specify the encryption information.

Properties

Click the plus button underneath the table to add lines that contains
username and password required for user authentication.

Connection pool

In this area, you configure, for each Spark executor, the connection pool used to control
the number of connections that stay open simultaneously. The default values given to the
following connection pool parameters are good enough for most use cases.

  • Max total number of connections: enter the maximum number
    of connections (idle or active) that are allowed to stay open simultaneously.

    The default number is 8. If you enter -1, you allow unlimited number of open connections at the same
    time.

  • Max waiting time (ms): enter the maximum amount of time
    at the end of which the response to a demand for using a connection should be returned by
    the connection pool. By default, it is -1, that is to say, infinite.

  • Min number of idle connections: enter the minimum number
    of idle connections (connections not used) maintained in the connection pool.

  • Max number of idle connections: enter the maximum number
    of idle connections (connections not used) maintained in the connection pool.

Evict connections

Select this check box to define criteria to destroy connections in the connection pool. The
following fields are displayed once you have selected it.

  • Time between two eviction runs: enter the time interval
    (in milliseconds) at the end of which the component checks the status of the connections and
    destroys the idle ones.

  • Min idle time for a connection to be eligible to
    eviction
    : enter the time interval (in milliseconds) at the end of which the idle
    connections are destroyed.

  • Soft min idle time for a connection to be eligible to
    eviction
    : this parameter works the same way as Min idle
    time for a connection to be eligible to eviction
    but it keeps the minimum number
    of idle connections, the number you define in the Min number of idle
    connections
    field.

Usage

Usage rule

This component is used as an end component and requires an input link.

This component, along with the Spark Streaming component Palette it belongs to, appears
only when you are creating a Spark Streaming Job.

Note that in this documentation, unless otherwise explicitly stated, a scenario presents
only Standard Jobs, that is to say traditional
Talend
data
integration Jobs.

Spark Connection

In the Spark
Configuration
tab in the Run
view, define the connection to a given Spark cluster for the whole Job. In
addition, since the Job expects its dependent jar files for execution, you must
specify the directory in the file system to which these jar files are
transferred so that Spark can access these files:

  • Yarn mode (Yarn client or Yarn cluster):

    • When using Google Dataproc, specify a bucket in the
      Google Storage staging bucket
      field in the Spark configuration
      tab.

    • When using HDInsight, specify the blob to be used for Job
      deployment in the Windows Azure Storage
      configuration
      area in the Spark
      configuration
      tab.

    • When using Altus, specify the S3 bucket or the Azure
      Data Lake Storage for Job deployment in the Spark
      configuration
      tab.
    • When using Qubole, add a
      tS3Configuration to your Job to write
      your actual business data in the S3 system with Qubole. Without
      tS3Configuration, this business data is
      written in the Qubole HDFS system and destroyed once you shut
      down your cluster.
    • When using on-premise
      distributions, use the configuration component corresponding
      to the file system your cluster is using. Typically, this
      system is HDFS and so use tHDFSConfiguration.

  • Standalone mode: use the
    configuration component corresponding to the file system your cluster is
    using, such as tHDFSConfiguration or
    tS3Configuration.

    If you are using Databricks without any configuration component present
    in your Job, your business data is written directly in DBFS (Databricks
    Filesystem).

This connection is effective on a per-Job basis.

Related scenarios

No scenario is available for the Spark Streaming version of this component
yet.


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