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.
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.
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.
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.
For 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.
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.
Notices |
Trademarks |
Downloads |
Library |
Support |
Feedback
![]() ![]() |
ac24871_ |