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 byJmsTemplate
, forconvertAndSend
andreceiveAndConvert
operations.Converts a String to a
TextMessage
, a byte array to aBytesMessage
, a Map to aMapMessage
, and a Serializable object to aObjectMessage
(or vice versa).- Since:
- 1.1
- Author:
- Juergen Hoeller
- See Also:
JmsTemplate.convertAndSend(java.lang.Object)
,JmsTemplate.receiveAndConvert()
Constructor Summary
Constructors Constructor Description SimpleMessageConverter()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 givenBytesMessage
.protected Map<String,Object>
extractMapFromMessage(MapMessage message)
Extract a Map from the givenMapMessage
.protected Serializable
extractSerializableFromMessage(ObjectMessage message)
Extract a Serializable object from the givenObjectMessage
.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.
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 interfaceMessageConverter
- Parameters:
object
- the object to convertsession
- the Session to use for creating a JMS Message- Returns:
- the JMS Message
- Throws:
JMSException
- if thrown by JMS API methodsMessageConversionException
- 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 interfaceMessageConverter
- Parameters:
message
- the message to convert- Returns:
- the converted Java object
- Throws:
JMSException
- if thrown by JMS API methodsMessageConversionException
- 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 convertsession
- 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 convertsession
- 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 convertsession
- 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 convertsession
- 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 givenBytesMessage
.- Parameters:
message
- the message to convert- Returns:
- the resulting byte array
- Throws:
JMSException
- if thrown by JMS methods
extractMapFromMessage
protected Map<String,Object> extractMapFromMessage(MapMessage message) throws JMSException
Extract a Map from the givenMapMessage
.- 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 givenObjectMessage
.- Parameters:
message
- the message to convert- Returns:
- the resulting Serializable object
- Throws:
JMSException
- if thrown by JMS methods