## org.springframework.jms.support.converter
Class SimpleMessageConverter

    java.lang.Object
      org.springframework.jms.support.converter.SimpleMessageConverter

All Implemented Interfaces:
  MessageConverter

Direct Known Subclasses:
  SimpleMessageConverter102

    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).

This converter implementation works for both JMS 1.1 and JMS 1.0.2, except when extracting a byte array from a BytesMessage. So for converting BytesMessages with a JMS 1.0.2 provider, use `SimpleMessageConverter102`. (As you would expect, `JmsTemplate102` uses SimpleMessageConverter102 as default.)

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  `JmsTemplate.convertAndSend(java.lang.Object)`, `JmsTemplate.receiveAndConvert()`

Constructor Summary
`SimpleMessageConverter()`

Method Summary
`protected BytesMessage` `createMessageForByteArray(byte[] bytes, Session session)` Create a JMS BytesMessage for the given byte array.
`protected MapMessage` `createMessageForMap(Map map, Session session)` Create a JMS MapMessage for the given Map.
`protected ObjectMessage` `createMessageForSerializable(Serializable object, Session session)` Create a JMS ObjectMessage for the given Serializable object.
`protected TextMessage` `createMessageForString(String text, Session session)` Create a JMS TextMessage for the given String.
`protected byte[]` `extractByteArrayFromMessage(BytesMessage message)` Extract a byte array from the given `BytesMessage`.
`protected Map` `extractMapFromMessage(MapMessage message)` Extract a Map from the given `MapMessage`.
`protected Serializable` `extractSerializableFromMessage(ObjectMessage message)` Extract a Serializable object from the given `ObjectMessage`.
`protected String` `extractStringFromMessage(TextMessage message)` Extract a String from the given TextMessage.
`Object` `fromMessage(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.
`Message` `toMessage(Object object, 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 java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SimpleMessageConverter

    public SimpleMessageConverter()

Method Detail

### toMessage

    public Message toMessage(Object object,
                             Session session)
                      throws 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:
    `JMSException` - if thrown by JMS API methods
    `MessageConversionException` - in case of conversion failure
  See Also:
    `createMessageForString(java.lang.String, javax.jms.Session)`, `createMessageForByteArray(byte[], javax.jms.Session)`, `createMessageForMap(java.util.Map, javax.jms.Session)`, `createMessageForSerializable(java.io.Serializable, javax.jms.Session)`

### fromMessage

    public Object fromMessage(Message message)
                       throws 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:
    `JMSException` - if thrown by JMS API methods
    `MessageConversionException` - in case of conversion failure
  See Also:
    `extractStringFromMessage(javax.jms.TextMessage)`, `extractByteArrayFromMessage(javax.jms.BytesMessage)`, `extractMapFromMessage(javax.jms.MapMessage)`, `extractSerializableFromMessage(javax.jms.ObjectMessage)`

### createMessageForString

    protected TextMessage createMessageForString(String text,
                                                 Session session)
                                          throws JMSException

  Create a JMS TextMessage for the given String.

  Parameters:
    `text` - the String to convert
    `session` - current JMS session
  Returns:
    the resulting message
  Throws:
    `JMSException` - if thrown by JMS methods
  See Also:
    `Session.createTextMessage()`

### createMessageForByteArray

    protected BytesMessage createMessageForByteArray(byte[] bytes,
                                                     Session session)
                                              throws JMSException

  Create a JMS BytesMessage for the given byte array.

  Parameters:
    `bytes` - the byyte array to convert
    `session` - current JMS session
  Returns:
    the resulting message
  Throws:
    `JMSException` - if thrown by JMS methods
  See Also:
    `Session.createBytesMessage()`

### createMessageForMap

    protected MapMessage createMessageForMap(Map map,
                                             Session session)
                                      throws JMSException

  Create a JMS MapMessage for the given Map.

  Parameters:
    `map` - the Map to convert
    `session` - current JMS session
  Returns:
    the resulting message
  Throws:
    `JMSException` - if thrown by JMS methods
  See Also:
    `Session.createMapMessage()`

### createMessageForSerializable

    protected ObjectMessage createMessageForSerializable(Serializable object,
                                                         Session session)
                                                  throws 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:
    `JMSException` - if thrown by JMS methods
  See Also:
    `Session.createObjectMessage()`

### extractStringFromMessage

    protected String extractStringFromMessage(TextMessage message)
                                       throws JMSException

  Extract a String from the given TextMessage.

  Parameters:
    `message` - the message to convert
  Returns:
    the resulting String
  Throws:
    `JMSException` - if thrown by JMS methods

### extractByteArrayFromMessage

    protected byte[] extractByteArrayFromMessage(BytesMessage message)
                                          throws JMSException

  Extract a byte array from the given `BytesMessage`.

  Parameters:
    `message` - the message to convert
  Returns:
    the resulting byte array
  Throws:
    `JMSException` - if thrown by JMS methods

### extractMapFromMessage

    protected Map extractMapFromMessage(MapMessage message)
                                 throws JMSException

  Extract a Map from the given `MapMessage`.

  Parameters:
    `message` - the message to convert
  Returns:
    the resulting Map
  Throws:
    `JMSException` - if thrown by JMS methods

### extractSerializableFromMessage

    protected Serializable extractSerializableFromMessage(ObjectMessage message)
                                                   throws JMSException

  Extract a Serializable object from the given `ObjectMessage`.

  Parameters:
    `message` - the message to convert
  Returns:
    the resulting Serializable object
  Throws:
    `JMSException` - if thrown by JMS methods

Copyright © 2002-2008 The Spring Framework.