Name

JMSType — Purpose: Identification

JMSType is an optional header set by the JMS client. Its name is somewhat misleading because it has nothing to do with the type of message being sent (BytesMessage, MapMessage, etc.). Its main purpose is to identify the message structure and type of payload; it is only supported by a couple of vendors.

Some MOM systems (e.g., IBM’s WebSphere MQ) treat the message body as uninterpreted bytes and provide applications with a simple way of labeling the body (the message type). So the message type header can be useful when exchanging messages with non-JMS clients that require this type of information to process the payload.

Other MOM systems (e.g., Sun’s JMQ) directly tie each message to some form of external message schema, and the message type is the link. These MOM systems require the message type because they provide metadata services bound to it.

In addition, the JMSType might be used on a application level. For example, a messaging application that uses XML as its message payload might use the JMSType to keep track of which XML DTD the message payload conforms to. However, since the JMSType can possibly be used by JMS vendors, it would be much safer to use application properties, which are discussed in detail in Appendix C.

Get Java Message Service, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.