The JMSInput and JMSOutput nodes expect JMS messages, and therefore expect a native JMS message tree representation.
These nodes do not have any configurable properties. The JMSMQTransform node transforms a native JMS message tree to a WebSphere MQ JMS message tree, and the MQJMSTransform node performs the transformation in the opposite direction.
The following diagram provides an overview of the mapping scheme that is used:
This mapping diagram 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 a WebSphere MQ message tree and a native JMS message tree, the transformation nodes copy elements from different parts of a message tree:
JMS field | MQMD field |
---|---|
JMSMessageID | MsgId |
JMSCorrelationID | CorrelId |
JMSPriority | Priority |
JMSDeliveryMode | Persistence |
JMSQApplid | PutApplName |
JMSUser | UserIdentifier |
JMSXDeliveryCount | BackoutCount - 1 |
JMSTimeStamp | PutDate, PutTime |
JMS field | MQRFH2 JMS field |
---|---|
JMSDestination | Dst |
JMSDeliveryMode | Dlv |
JMSExpiration | Exp |
JMSPriority | Pri |
JMSTimestamp | Tms |
JMSCorrelationID | Cid |
JMSReplyTo | Rto |
MQMD field | JMS field |
---|---|
Expiry | JMSExpiration |
Persistence | JMSDeliveryMode |
Priority | JMSPriority |
MsgId | JMSMessageID |
CorrelId | JMSCorrelationID |
BackoutCount = 0 | JMSRedelivered = false |
BackoutCount > 0 | JMSRedelivered = true |
GroupId | JMSGroupid |
MsgSeqNumber | JMSGroupseq |
UserIdentifier | JMSUser |
PutApplName | JMSApplid |
PutDate, PutTime | JMSTimeStamp |
MQRFH2 JMS field | JMS field |
---|---|
Dst | JMSDestination |
Dlv | JMSDeliveryMode |
Pri | JMSPriority |
Cid | JMSCorrelationID |
Rto | JMSReplyTo |
The final destination is a WebSphere MQ queue, 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.
These examples show some of the solutions that you can achieve when you use the JMS Transport. Other solutions are possible; for example, the message can be passed to a Compute node or a JavaCompute node and the contents can be modified as required.