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, forconvertAndSendandreceiveAndConvertoperations.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 BytesMessagecreateMessageForByteArray(byte[] bytes, Session session)Create a JMS BytesMessage for the given byte array.protected MapMessagecreateMessageForMap(Map<?,?> map, Session session)Create a JMS MapMessage for the given Map.protected ObjectMessagecreateMessageForSerializable(Serializable object, Session session)Create a JMS ObjectMessage for the given Serializable object.protected TextMessagecreateMessageForString(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 SerializableextractSerializableFromMessage(ObjectMessage message)Extract a Serializable object from the givenObjectMessage.protected StringextractStringFromMessage(TextMessage message)Extract a String from the given TextMessage.ObjectfromMessage(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.MessagetoMessage(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:
toMessagein 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:
fromMessagein 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