User Guide > Sources in a Streaming Mapping > JMS Data Objects
  

JMS Data Objects

A JMS data object is a physical data object that accesses a JMS server. After you configure a JMS connection, create a JMS data object to read from JMS sources.
JMS providers are message-oriented middleware systems that send JMS messages. The JMS data object connects to a JMS provider to read or write data.
The JMS data object can read JMS messages from a JMS provider message queue . When you configure a JMS data object, configure properties to reflect the message structure of the JMS messages. The input ports and output ports are JMS message headers.
When you configure the read data operation properties, specify the format in which the JMS data object reads data. You can specify XML, JSON, or Flat as format. When you specify XML format, you must provide an XSD file. When you specify JSON, you must provide a sample file.
You can pass any payload format directly from source to target in Streaming mappings. You can project columns in binary format pass a payload from source to target in its original form or to pass a payload format that is not supported.
Streaming mappings can read, process, and write hierarchical data. You can use array, struct, and map complex data types to process the hierarchical data. You assign complex data types to ports in a mapping to flow hierarchical data. Ports that flow hierarchical data are called complex ports.
For more information about processing hierarchical data, see the Informatica Big Data Management User Guide.

Integration with JMS

You manually create JMS source and target data objects to reflect the message structure of JMS messages.
The JMS data object can read messages of type TextMessage. This type of message contains a string object. TextMessages can contain XML or JSON message data.

JMS Message Structure

JMS messages contain the following components:

Header Fields

JMS messages contain a fixed number of header fields. Each JMS message uses these fields regardless of message type. Every JMS source and target definition includes a pre-defined set of header fields.
The following table describes the JMS message header fields:
Header Field
Description
JMSDestination
Destination to which the message is sent. JMS destinations can be a message queue or a recipient who listens for messages based on the message topic.
JMSDeliveryMode
Delivery mode of the message. The delivery mode can be persistent or non-persistent.
JMSMessageID
Unique identification value for the message.
JMSTimestamp
Time at which the message was handed off to the provider to be sent to the destination.
JMSCorrelationID
Links one message with another. For example, JMSCorrelationID can link a response message with the corresponding request message.
JMSReplyTo
Destination to which a reply message can be sent.
JMSRedelivered
Indicates that a message might have been delivered previously, but not acknowledged.
JMSType
Type of message based on a description of the message. For example, if a message contains a stock trade, the message type might be stock trade.
JMSExpiration
Amount of time in milliseconds the message remains valid. The messages remain in memory during this period.
JMSPriority
Priority of the message from 0-9. 0 is the lowest priority. 9 is the highest.

Property Fields

JMS source and target definitions can optionally include message property fields. Property fields contain additional message header information. JMS providers use properties in a JMS message to give provider-specific information. Applications that use a JMS provider can add property fields with application-specific information to a message.

Body Fields

JMS source and target definitions can optionally include a message body. The body contains one or more fields. Only certain types of JMS messages contain a body.

JMS Data Object Overview Properties

The Data Integration Service uses overview properties when it reads data from a JMS source.
Overview properties include general properties that apply to the JMS data object. They also include object properties that apply to the resources in the JMS data object. The Developer tool displays overview properties for JMS messages in the Overview view.

General Properties

The following table describes the general properties that you configure for JMS data objects:
Property
Description
Name
The name of the JMS data object.
Description
The description of the JMS data object.
Connection
The name of the JMS connection.

Objects Properties

The following table describes the objects properties that you configure for JMS data objects:
Property
Description
Name
The name of the topic or queue of the JMS source.
Description
The description of the JMS source.
Native Name
The native name of JMS source.
Path Information
The type and name of the topic or topic pattern of the JMS source.

JMS Data Object Read Operation Properties

The Data Integration Service uses read operation properties when it reads data from a JMS source. You can edit the format, run-time, and advanced properties.

General Properties

The Developer tool displays general properties for JMS sources in the Read view.
The following table describes the general properties that you view for JMS sources:
Property
Description
Name
The name of the JMS source.
This property is read-only. You can edit the name in the Overview view. When you use the JMS source as a source in a mapping, you can edit the name in the mapping.
Description
The description of the JMS source.

Ports Properties

Ports properties for a physical data object include port names and port attributes such as data type and precision.
The following table describes the ports properties that you configure for JMS sources:
Property
Description
Name
The name of the JMS source.
Type
The native data type of the source.
Precision
The maximum number of significant digits for numeric data types, or the maximum number of characters for string data types.
Scale
The scale of the data type.
Description
The description of the resource.

Sources Properties

The sources properties list the resources of the JMS data object. You can add or remove resources in the data object.

Run-time Properties

The run-time properties displays the name of the connection.
The following table describes the run-time property that you configure for JMS sources:
Property
Description
Connection
Name of the JMS connection.

Advanced Properties

The Developer tool displays the advanced properties for JMS sources in the Output transformation in the Read view.
You can configure the following advanced properties for JMS sources:
Property
Description
Operation Type
Specifies the type of data object operation.
This is a read-only property.
JMS Destination
Name of the queue or topic to which the JMS provider publishes messages. The data object subscribes to JMS messages from this queue or topic.
Client ID
Client identifier to identify the connection and set up a durable connections.
Durable Subscription Name
Name of the durable subscription that can receive messages sent while the subscribers are not active. Durable subscriptions provide the flexibility and reliability of queues, but still allow clients to send messages to many recipients.
JMS Message Selector
Criteria for filtering message header or message properties, to limit which JMS messages the data object receives.
Guaranteed Processing
Guaranteed processing ensures that the mapping processes messages published by the sources and delivers them to the targets at least once. In the event of a failure, there could be potential duplicates but the messages are processed successfully. If the external source or the target is not available, the mapping execution stops to avoid any data loss.
Select this option for guaranteed delivery of data streamed from the JMS sources.

Column Projections Properties

The following table describes the columns projection properties that you configure for JMS sources:
Property
Description
Column Name
The name field that contains data.
This property is read-only.
Type
The native data type of the resource.
This property is read-only.
Enable Column Projection
Indicates that you use a schema to read the data that the source streams. By default, the data is streamed in binary format. To change the format in which the data is streamed, select this option and specify the schema format.
Schema Format
The format in which the source streams data. You can select one of the following formats:
  • - XML
  • - JSON
  • - Flat
Schema
Specify the XSD schema for the XML format or the sample JSON for the JSON format.
For the Flat file format, configure the schema to associate a flat file to the source. When you provide a sample file, the Data Integration Service uses UTF-8 code page when reading the data.
Column Mapping
The mapping of source data to the data object. Click View to see the mapping.
Project Column as Complex Data Type
Project columns as complex data type for hierarchical data.
For more information, see the Informatica Big Data Management User Guide.

Configuring a Schema for Flat Files

Configure schema for flat files when you configure column projection properties.
    1. On the Column Projection tab, enable column projection and select the flat schema format.
    The page displays the column projection properties page.
    2. On the column projection properties page, configure the following properties:
    3. Click Next.
    4. In the delimited format properties page, configure the following properties:
    Property
    Description
    Delimiters
    Specify the character that separates entries in the file.
    Default is a comma (,). You can only specify one delimiter at a time.
    If you select Other and specify a custom delimiter, you can only specify a single-character delimiter.
    Text Qualifier
    Specify the character used to enclose text that should be treated as one entry. Use a text qualifier to disregard the delimiter character within text. Default is No quotes. You can only specify an escape character of one character.
    Preview Options
    Specify the escape character. The row delimiter is not applicable as only one row is created at a time.
    Maximum rows to preview
    Specify the rows of data you want to preview.
    5. Click Next to preview the flat file data object.
    If required, you can change the column attributes. The data type timestampWithTZ format is not supported.
    6. Click Finish.
    The data object opens in the editor.