JMS message for output

When the JMSOutput node receives a JMS message, it invokes the JMSTransport parser to return an XML bit stream containing the JMSTransport section of the message. The node extracts the Message_MetaData and obtains the payload type information to identify which JMS message type to create for output. If the Message_MetaData folder is not present, the output node creates a BytesMessage by default.

Header data

The JMSOutput node extracts the JMS header data from the XML string and uses this data to populate the values for the JMS header fields in the message.

Property data

The JMSOutput node extracts the property values from the XML string. The XML elements contain type information that identifies which Java Object type to create for each property value.

Message payload

The message payload is obtained from the JMS message as a bit stream. For TextMessage and BytesMessage payloads, the bit stream can be passed to the JMS API directly to create the appropriate payload.

For MapMessage and StreamMessage payloads, the individual elements must be extracted from the XML bit stream. The output node calls the appropriate JMS API method to create the map or stream fields in the message.

Start of changeFor an ObjectMessage payload, the JMSOutput node re-serializes the bit stream payload by using the object class. The object class must be available in the broker’s Java class path. The class path is defined in the mqsiprofile batch file, which is in the broker's executable directory; for example, on Windows, this is mqsiprofile.cmd in the install_dir/bin directory.End of change

Message publication

The message is published to the JMS destination that has been specified as an attribute of the JMSOutput node. However, if the JMSReplyTo header field is set in the JMS message, the JMSOutput node treats the message as a reply to a previous request, and publishes the message to the JMS destination of the previous request.

Related reference
JMS message structure
JMS message types
Representation of messages across the JMS Transport
JMS message as input
JNDI administered objects