Spring AMQP

org.springframework.amqp.support.converter
Class SerializerMessageConverter

java.lang.Object
  extended by org.springframework.amqp.support.converter.AbstractMessageConverter
      extended by org.springframework.amqp.support.converter.SerializerMessageConverter
All Implemented Interfaces:
MessageConverter

public class SerializerMessageConverter
extends AbstractMessageConverter

Implementation of MessageConverter that can work with Strings or native objects of any kind via the Serializer and Deserializer abstractions in Spring. The AbstractMessageConverter.toMessage(Object, MessageProperties) method simply checks the type of the provided instance while the fromMessage(Message) method relies upon the content-type of the provided Message.

Author:
Dave Syer

Field Summary
static String DEFAULT_CHARSET
           
 
Constructor Summary
SerializerMessageConverter()
           
 
Method Summary
protected  Message createMessage(Object object, MessageProperties messageProperties)
          Creates an AMQP Message from the provided Object.
 Object fromMessage(Message message)
          Converts from a AMQP Message to an Object.
 void setDefaultCharset(String defaultCharset)
          Specify the default charset to use when converting to or from text-based Message body content.
 void setDeserializer(Deserializer<Object> deserializer)
          The deserializer to use for converting from message body to Java object.
 void setIgnoreContentType(boolean ignoreContentType)
          Flag to signal that the content type should be ignored and the deserializer used irrespective if it is a text message.
 void setSerializer(Serializer<Object> serializer)
          The serializer to use for converting Java objects to message bodies.
 
Methods inherited from class org.springframework.amqp.support.converter.AbstractMessageConverter
isCreateMessageIds, setCreateMessageIds, toMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_CHARSET

public static final String DEFAULT_CHARSET
See Also:
Constant Field Values
Constructor Detail

SerializerMessageConverter

public SerializerMessageConverter()
Method Detail

setIgnoreContentType

public void setIgnoreContentType(boolean ignoreContentType)
Flag to signal that the content type should be ignored and the deserializer used irrespective if it is a text message. Defaults to false, in which case the default encoding is used to convert a text message to a String.

Parameters:
ignoreContentType - the flag value to set

setDefaultCharset

public void setDefaultCharset(String defaultCharset)
Specify the default charset to use when converting to or from text-based Message body content. If not specified, the charset will be "UTF-8".


setSerializer

public void setSerializer(Serializer<Object> serializer)
The serializer to use for converting Java objects to message bodies.

Parameters:
serializer - the serializer to set

setDeserializer

public void setDeserializer(Deserializer<Object> deserializer)
The deserializer to use for converting from message body to Java object.

Parameters:
deserializer - the deserializer to set

fromMessage

public Object fromMessage(Message message)
                   throws MessageConversionException
Converts from a AMQP Message to an Object.

Specified by:
fromMessage in interface MessageConverter
Specified by:
fromMessage in class AbstractMessageConverter
Parameters:
message - the message to convert
Returns:
the converted Java object
Throws:
MessageConversionException - in case of conversion failure

createMessage

protected Message createMessage(Object object,
                                MessageProperties messageProperties)
                         throws MessageConversionException
Creates an AMQP Message from the provided Object.

Specified by:
createMessage in class AbstractMessageConverter
Parameters:
object - the payload
messageProperties - the message properties (headers)
Returns:
a message
Throws:
MessageConversionException

Spring AMQP

Copyright © 2011. All Rights Reserved.