User Guide > Targets 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 write to JMS targets.
JMS providers are message-oriented middleware systems that send JMS messages. The JMS data object connects to a JMS provider to write data.
The JMS data object can write JMS messages to a JMS provider. 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 write data operation properties, specify the format in which the JMS data object writes 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 or Flat format, 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 Write Operation Properties

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

General Properties

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

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 targets:
Property
Description
Name
The name of the JMS target.
Type
The native data type of the target.
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.

Target Properties

The target 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 targets:
Property
Description
Connection
Name of the JMS connection.

Advanced Properties

The Developer tool displays the advanced properties for JMS targets in the Input transformation in the Write view.
You can configure the following advanced properties for JMS targets:
Property
Description
Operation Type
Specifies the type of data object operation.
This is a read-only property.
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.
Message Type
The format in which the message is written to the target.
Specify one of the following formats:
  • - Text
  • - Binary

Column Projections Properties

The following table describes the columns projection properties that you configure for JMS targets:
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 publish the data to the target. 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 you stream data to the target. You can select one of the following formats:
  • - XML
  • - JSON
  • - Flat
Schema
Specify the XSD schema for the XML format, and the sample JSON for the JSON format.
For the Flat file format, configure the schema to associate a flat file.
Column Mapping
The mapping of source data to the data object. Click View to see the mapping.