JMS message transformation

The JMSInput and JMSOutput nodes expect JMS messages and therefore expect a native JMS message tree representation. The following two nodes are available when a WebSphere MQ JMS message tree is expected but the representation is that of a JMS message tree: These nodes do not have any configurable attributes. JMSMQTransform transforms a native JMS message tree to a WebSphere MQ JMS message tree, and MQJMSTransform achieves transformation in the opposite direction. The following diagram provides an overview of the mapping scheme that is used:

Transforming between a native JMS message tree and a WebSphere MQ JMS message tree

The above mapping uses the same scheme as the WebSphere MQ JMS provider to convert between a JMS message and an MQMD or MQRFH2 message.

When transforming between an WebSphere MQ message tree and a native JMS message tree, the transformation nodes copy elements from different parts of a message tree.

Example message flow scenario: JMSInput to MQOutput


JMSInput to MQOutput
  1. A JMSInput node is configured to subscribe to Topic ABC.
  2. An application that is connected to the JMS server publishes on topic ABC.
  3. A publication is received at the JMSInput node.
  4. The node extracts data from the JMS message.
  5. The JMS message is passed to the JMSMQTransform node where the message is converted to an MQ message.
  6. The MQOutput node receives the MQ message, and publishes the message on a WebSphere MQ queue.

The final destination is to be an WebSphere MQ queue, and therefore the message must pass through a JMSMQTransform node to convert the message tree to a WebSphere MQ JMS format before it reaches the MQOutput node.

Example message flow scenario: MQInput to JMSOutput


MQInput to JMSOutput
  1. An MQInput node receives a message from a WebSphere MQ queue.
  2. The MQInput node creates an MQ message.
  3. The MQ message is passed to the MQJMSTransform node where the message tree is converted to a JMS format.
  4. The JMSOutput node receives the JMS message, extracts data from the JMS message, and creates a Java JMS message.
  5. The JMSOutput node publishes the JMS message on Topic XYZ.
Note: These two examples are not intended to be exclusive, but rather demonstrate the range of solutions that can be achieved when using the JMS Transport. For example, although it is not shown here, the message could be passed to a Compute node or a JavaCompute node and the contents could be modified as required.

Refer to the JMS Nodes sample sample for examples of the JMS nodes being used in message flows.

Related reference
JMSInput node
JMSOutput node
JMS message as input
JMS message for output