Class SerializerMessageConverter
java.lang.Object
org.springframework.amqp.support.converter.AbstractMessageConverter
org.springframework.amqp.support.converter.AllowedListDeserializingMessageConverter
org.springframework.amqp.support.converter.SerializerMessageConverter
- All Implemented Interfaces:
MessageConverter
,Aware
,BeanClassLoaderAware
public class SerializerMessageConverter
extends AllowedListDeserializingMessageConverter
implements BeanClassLoaderAware
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.
If a DefaultDeserializer
is configured (default),
the allowed patterns
will be applied
(if configured); for all other deserializers, the deserializer is responsible for
checking classes, if necessary.
- Author:
- Dave Syer, Gary Russell, Artem Bilan
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected Message
createMessage
(Object object, MessageProperties messageProperties) Creates an AMQP Message from the provided Object.fromMessage
(Message message) Converts from a AMQP Message to an Object.void
setBeanClassLoader
(ClassLoader classLoader) 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.AllowedListDeserializingMessageConverter
addAllowedListPatterns, checkAllowedList, setAllowedListPatterns
Methods inherited from class org.springframework.amqp.support.converter.AbstractMessageConverter
createMessage, isCreateMessageIds, setCreateMessageIds, toMessage, toMessage
-
Field Details
-
DEFAULT_CHARSET
-
-
Constructor Details
-
SerializerMessageConverter
public SerializerMessageConverter()
-
-
Method Details
-
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
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".- Parameters:
defaultCharset
- The default charset.
-
setSerializer
The serializer to use for converting Java objects to message bodies.- Parameters:
serializer
- the serializer to set
-
setDeserializer
The deserializer to use for converting from message body to Java object.- Parameters:
deserializer
- the deserializer to set
-
setBeanClassLoader
- Specified by:
setBeanClassLoader
in interfaceBeanClassLoaderAware
-
fromMessage
Converts from a AMQP Message to an Object.- Specified by:
fromMessage
in interfaceMessageConverter
- 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 classAbstractMessageConverter
- Parameters:
object
- the payload.messageProperties
- the message properties (headers).- Returns:
- a message.
- Throws:
MessageConversionException
-