Class MessagingMessageConverter
java.lang.Object
org.springframework.jms.support.converter.MessagingMessageConverter
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
,MessageConverter
public class MessagingMessageConverter
extends Object
implements MessageConverter, org.springframework.beans.factory.InitializingBean
Convert a
Message
from the messaging abstraction to and from a
Message
using an underlying MessageConverter
for the payload and a JmsHeaderMapper
to map the JMS headers to and from standard message headers.- Since:
- 4.1
- Author:
- Stephane Nicoll
-
Constructor Summary
ConstructorDescriptionCreate an instance with a default payload converter.MessagingMessageConverter
(MessageConverter payloadConverter) Create an instance with the specific payload converter.MessagingMessageConverter
(MessageConverter payloadConverter, JmsHeaderMapper headerMapper) Create an instance with the specified payload converter and header mapper. -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected Message
createMessageForPayload
(Object payload, Session session, Object conversionHint) Create a JMS message for the specified payload and conversionHint.protected final org.springframework.messaging.MessageHeaders
extractHeaders
(Message message) protected Object
extractPayload
(Message message) Extract the payload of the specifiedMessage
.fromMessage
(Message message) Convert from a JMS Message to a Java object.void
setHeaderMapper
(JmsHeaderMapper headerMapper) Set theJmsHeaderMapper
to use to map JMS headers to and from standard message headers.void
setPayloadConverter
(MessageConverter payloadConverter) Set theMessageConverter
to use to convert the payload.Convert a Java object to a JMS Message using the supplied session to create the message object.
-
Constructor Details
-
MessagingMessageConverter
public MessagingMessageConverter()Create an instance with a default payload converter.- See Also:
-
MessagingMessageConverter
Create an instance with the specific payload converter.- Parameters:
payloadConverter
- the payload converter to use- Since:
- 4.3.12
-
MessagingMessageConverter
Create an instance with the specified payload converter and header mapper.
-
-
Method Details
-
setPayloadConverter
Set theMessageConverter
to use to convert the payload. -
setHeaderMapper
Set theJmsHeaderMapper
to use to map JMS headers to and from standard message headers. -
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
toMessage
public Message toMessage(Object object, Session session) throws JMSException, MessageConversionException Description copied from interface:MessageConverter
Convert a Java object to a JMS Message using the supplied session to create the message 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
-
fromMessage
Description copied from interface:MessageConverter
Convert from a JMS Message to a Java object.- 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
-
extractPayload
Extract the payload of the specifiedMessage
.- Throws:
JMSException
-
createMessageForPayload
protected Message createMessageForPayload(Object payload, Session session, @Nullable Object conversionHint) throws JMSException Create a JMS message for the specified payload and conversionHint. The conversion hint is an extra object passed to theMessageConverter
, e.g. the associatedMethodParameter
(may benull
}.- Throws:
JMSException
- Since:
- 4.3
- See Also:
-
extractHeaders
-