Does JMS directly support XML?

Jerry Smith

No. The JMS specification defines five message types:

  • StreamMessage - a stream of Java primitive values
  • MapMessage - a set of name-value pairs
  • TextMessage - a String object
  • ObjectMessage - a serialzed Java object
  • BytesMessage - a stream of uninterpreted bytes

You can pass XML data in the body of a text message, and, of course, you can do just about anything with an object message. Optionally, some vendors plan to support other message types. Given the rapid growth and widespread use of XML, it's likely that several vendors will offer direct XML support.

At this time, the following vendors/products provide some form of direct support for XML:

  • Progress/SonicMQ - SonicMQ provides an XML message type, plus dynamic parsing of XML messages upon delivery.