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

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

### Constructor Summary

Constructors
Constructor and Description
`SimpleMessageConverter()`

### Method Summary

Methods
`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