2.4. Message Encoding

Message body type

JMS defines five message body types:
  • StreamMessage
  • MapMessage
  • TextMessage
  • ObjectMessage
  • BytesMessage
Of these message types, BytesMessage (a stream of uninterpreted bytes) is the fastest, while ObjectMessage (serialization of a Java object) is the slowest.

Encoding recommendation

For best performance, therefore, it is recommended that you use BytesMessage whenever possible. We suggest that you use Google's Protobuf, which has excellent performance characteristics.