Class SimpleMessageConverter

java.lang.Object
org.springframework.jms.support.converter.SimpleMessageConverter
All Implemented Interfaces:
MessageConverter

public class SimpleMessageConverter extends Object implements MessageConverter
A simple message converter which is able to handle TextMessages, BytesMessages, MapMessages, and ObjectMessages. Used as default conversion strategy by JmsTemplate, for convertAndSend and receiveAndConvert operations.

Converts a String to a TextMessage, a byte array to a BytesMessage, a Map to a MapMessage, and a Serializable object to a ObjectMessage (or vice versa).

Since:
1.1
Author:
Juergen Hoeller, Sam Brannen
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected jakarta.jms.BytesMessage
    createMessageForByteArray(byte[] bytes, jakarta.jms.Session session)
    Create a JMS BytesMessage for the given byte array.
    protected jakarta.jms.MapMessage
    createMessageForMap(Map<?,?> map, jakarta.jms.Session session)
    Create a JMS MapMessage for the given Map.
    protected jakarta.jms.ObjectMessage
    createMessageForSerializable(Serializable object, jakarta.jms.Session session)
    Create a JMS ObjectMessage for the given Serializable object.
    protected jakarta.jms.TextMessage
    createMessageForString(String text, jakarta.jms.Session session)
    Create a JMS TextMessage for the given String.
    protected byte[]
    extractByteArrayFromMessage(jakarta.jms.BytesMessage message)
    Extract a byte array from the given BytesMessage.
    protected Map<String,Object>
    extractMapFromMessage(jakarta.jms.MapMessage message)
    Extract a Map from the given MapMessage.
    protected Serializable
    extractSerializableFromMessage(jakarta.jms.ObjectMessage message)
    Extract a Serializable object from the given ObjectMessage.
    protected String
    extractStringFromMessage(jakarta.jms.TextMessage message)
    Extract a String from the given TextMessage.
    fromMessage(jakarta.jms.Message message)
    This implementation converts a TextMessage back to a String, a ByteMessage back to a byte array, a MapMessage back to a Map, and an ObjectMessage back to a Serializable object.
    jakarta.jms.Message
    toMessage(Object object, jakarta.jms.Session session)
    This implementation creates a TextMessage for a String, a BytesMessage for a byte array, a MapMessage for a Map, and an ObjectMessage for a Serializable object.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SimpleMessageConverter

      public SimpleMessageConverter()
  • Method Details

    • toMessage

      public jakarta.jms.Message toMessage(Object object, jakarta.jms.Session session) throws jakarta.jms.JMSException, MessageConversionException
      This implementation creates a TextMessage for a String, a BytesMessage for a byte array, a MapMessage for a Map, and an ObjectMessage for a Serializable object.
      Specified by:
      toMessage in interface MessageConverter
      Parameters:
      object - the object to convert
      session - the Session to use for creating a JMS Message
      Returns:
      the JMS Message
      Throws:
      jakarta.jms.JMSException - if thrown by JMS API methods
      MessageConversionException - in case of conversion failure
      See Also:
    • fromMessage

      public Object fromMessage(jakarta.jms.Message message) throws jakarta.jms.JMSException, MessageConversionException
      This implementation converts a TextMessage back to a String, a ByteMessage back to a byte array, a MapMessage back to a Map, and an ObjectMessage back to a Serializable object. Returns the plain Message object in case of an unknown message type.
      Specified by:
      fromMessage in interface MessageConverter
      Parameters:
      message - the message to convert
      Returns:
      the converted Java object
      Throws:
      jakarta.jms.JMSException - if thrown by JMS API methods
      MessageConversionException - in case of conversion failure
      See Also:
    • createMessageForString

      protected jakarta.jms.TextMessage createMessageForString(String text, jakarta.jms.Session session) throws jakarta.jms.JMSException
      Create a JMS TextMessage for the given String.
      Parameters:
      text - the String to convert
      session - current JMS session
      Returns:
      the resulting message
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods
      See Also:
      • Session.createTextMessage()
    • createMessageForByteArray

      protected jakarta.jms.BytesMessage createMessageForByteArray(byte[] bytes, jakarta.jms.Session session) throws jakarta.jms.JMSException
      Create a JMS BytesMessage for the given byte array.
      Parameters:
      bytes - the byte array to convert
      session - current JMS session
      Returns:
      the resulting message
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods
      See Also:
      • Session.createBytesMessage()
    • createMessageForMap

      protected jakarta.jms.MapMessage createMessageForMap(Map<?,?> map, jakarta.jms.Session session) throws jakarta.jms.JMSException
      Create a JMS MapMessage for the given Map.
      Parameters:
      map - the Map to convert
      session - current JMS session
      Returns:
      the resulting message
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods
      See Also:
      • Session.createMapMessage()
    • createMessageForSerializable

      protected jakarta.jms.ObjectMessage createMessageForSerializable(Serializable object, jakarta.jms.Session session) throws jakarta.jms.JMSException
      Create a JMS ObjectMessage for the given Serializable object.
      Parameters:
      object - the Serializable object to convert
      session - current JMS session
      Returns:
      the resulting message
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods
      See Also:
      • Session.createObjectMessage()
    • extractStringFromMessage

      protected String extractStringFromMessage(jakarta.jms.TextMessage message) throws jakarta.jms.JMSException
      Extract a String from the given TextMessage.
      Parameters:
      message - the message to convert
      Returns:
      the resulting String
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods
    • extractByteArrayFromMessage

      protected byte[] extractByteArrayFromMessage(jakarta.jms.BytesMessage message) throws jakarta.jms.JMSException
      Extract a byte array from the given BytesMessage.
      Parameters:
      message - the message to convert
      Returns:
      the resulting byte array
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods
    • extractMapFromMessage

      protected Map<String,Object> extractMapFromMessage(jakarta.jms.MapMessage message) throws jakarta.jms.JMSException
      Extract a Map from the given MapMessage.
      Parameters:
      message - the message to convert
      Returns:
      the resulting Map
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods
    • extractSerializableFromMessage

      protected Serializable extractSerializableFromMessage(jakarta.jms.ObjectMessage message) throws jakarta.jms.JMSException
      Extract a Serializable object from the given ObjectMessage.
      Parameters:
      message - the message to convert
      Returns:
      the resulting Serializable object
      Throws:
      jakarta.jms.JMSException - if thrown by JMS methods