Class SimpleJmsHeaderMapper
- java.lang.Object
- org.springframework.messaging.support.AbstractHeaderMapper<Message>
- org.springframework.jms.support.SimpleJmsHeaderMapper
- All Implemented Interfaces:
JmsHeaderMapper,HeaderMapper<Message>
public class SimpleJmsHeaderMapper extends AbstractHeaderMapper<Message> implements JmsHeaderMapper
Simple implementation ofJmsHeaderMapper.This implementation copies JMS API headers (e.g. JMSReplyTo) to and from
Messages. Any user-defined properties will also be copied from a JMS Message to a Message, and any other headers on a Message (beyond the JMS API headers) will likewise be copied to a JMS Message. Those other headers will be copied to the general properties of a JMS Message whereas the JMS API headers are passed to the appropriate setter methods (e.g. setJMSReplyTo).Constants for the JMS API headers are defined in
JmsHeaders. Note that most of the JMS headers are read-only: the JMSDestination, JMSDeliveryMode, JMSExpiration, JMSMessageID, JMSPriority, JMSRedelivered and JMSTimestamp flags are only copied from a JMS Message. Those values will not be passed along from a Message to an outbound JMS Message.- Since:
- 4.1
- Author:
- Mark Fisher, Gary Russell, Stephane Nicoll
Field Summary
Fields inherited from class org.springframework.messaging.support.AbstractHeaderMapper
logger
Fields inherited from interface org.springframework.jms.support.JmsHeaderMapper
CONTENT_TYPE_PROPERTY
Constructor Summary
Constructors Constructor Description SimpleJmsHeaderMapper()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringfromHeaderName(String headerName)Add the outbound prefix if necessary.voidfromHeaders(MessageHeaders headers, Message jmsMessage)Map from the givenMessageHeadersto the specified target message.protected StringtoHeaderName(String propertyName)Add the inbound prefix if necessary.MessageHeaderstoHeaders(Message jmsMessage)Map from the given target message to abstractedMessageHeaders.Methods inherited from class org.springframework.messaging.support.AbstractHeaderMapper
getHeaderIfAvailable, setInboundPrefix, setOutboundPrefix
Constructor Detail
SimpleJmsHeaderMapper
public SimpleJmsHeaderMapper()
Method Detail
fromHeaders
public void fromHeaders(MessageHeaders headers, Message jmsMessage)
Description copied from interface:HeaderMapperMap from the givenMessageHeadersto the specified target message.- Specified by:
fromHeadersin interfaceHeaderMapper<Message>- Parameters:
headers- the abstracted MessageHeadersjmsMessage- the native target message
toHeaders
public MessageHeaders toHeaders(Message jmsMessage)
Description copied from interface:HeaderMapperMap from the given target message to abstractedMessageHeaders.- Specified by:
toHeadersin interfaceHeaderMapper<Message>- Parameters:
jmsMessage- the native target message- Returns:
- the abstracted MessageHeaders
fromHeaderName
protected String fromHeaderName(String headerName)
Add the outbound prefix if necessary.Convert
MessageHeaders.CONTENT_TYPEtocontent_typefor JMS compliance.- Overrides:
fromHeaderNamein classAbstractHeaderMapper<Message>- See Also:
JmsHeaderMapper.CONTENT_TYPE_PROPERTY
toHeaderName
protected String toHeaderName(String propertyName)
Add the inbound prefix if necessary.Convert the JMS-compliant
content_typetoMessageHeaders.CONTENT_TYPE.- Overrides:
toHeaderNamein classAbstractHeaderMapper<Message>- See Also:
JmsHeaderMapper.CONTENT_TYPE_PROPERTY