A WebSphere® MQ message
usually contains a message descriptor, one or more message headers,
and a message payload. WebSphere MQ provides
programming interfaces that can help your applications to process WebSphere MQ messages.
Components of a WebSphere MQ message
A
WebSphere MQ message contains one or
more of the following components:
- Message descriptor
- The message descriptor contains standard message properties, applicable
to all WebSphere MQ messages. For
example, the message descriptor contains the message identifier and
the correlation identifier (similar to the JMSMessageID and the JMSCorrelationID).
Every WebSphere MQ message contains
a message descriptor (MQMD).
- Message headers
- A message header usually contains additional message properties
applicable to particular types of message. For example, WebSphere MQ messages sent to the CICS® bridge include a CICS bridge header (MQCIH). One exception is
the "WebSphere MQ rules and formatting
header 2" (MQRFH2), which can be used to contain message properties
for various message types, including JMS message properties. Which
headers (if any) a WebSphere MQ message
contains depends on the intended recipient.
- Message Properties
- WebSphere MQ message properties
were introduced with the WebSphere MQ Version
7.0 JMS client. A WebSphere MQ message
property is data associated with a message, consisting of a textual
name and a value of a particular type. WebSphere MQ message properties are used
by message selectors to filter publications to topics or to selectively
get messages from queues. WebSphere MQ message
properties can be used to include business data or state information
without having to store it in the application data. Applications do
not have to access data in the MQMD or MQRFH2 headers because the
fields in these data structures can be accessed as WebSphere MQ message properties.
- Message payload
- The message payload is the data (if any) that follows the last
message header, or that follows the MQMD if there are no message headers.
For more information about WebSphere MQ messages, see the Application
Programming Guide and Application Programming Reference sections
of the WebSphere MQ information center.
WebSphere MQ implementation
of a JMS message
WebSphere MQ provides a programming interface
called the Message Queue Interface (MQI). This interface allows applications
to process the components of a WebSphere MQ message
using a variety of programming languages. WebSphere MQ also provides a JMS programming
interface which allows applications to process a WebSphere MQ message as a JMS message.
In this case the JMS message body is usually the WebSphere MQ message payload. However
the JMS message body can include WebSphere MQ message
headers or, if you are using WebSphere MQ Version
7.0, WebSphere MQ message properties,
or both. For details of WebSphere MQ support
for JMS, see the WebSphere MQ Using Java documentation.