Class DefaultAmqpHeaderMapper
java.lang.Object
org.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanClassLoaderAware,AmqpHeaderMapper,org.springframework.integration.mapping.RequestReplyHeaderMapper<org.springframework.amqp.core.MessageProperties>
public class DefaultAmqpHeaderMapper extends org.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties> implements AmqpHeaderMapper
Default implementation of
AmqpHeaderMapper.
By default this implementation will only copy AMQP properties (e.g. contentType) to and from
Spring Integration MessageHeaders. Any user-defined headers within the AMQP
MessageProperties will NOT be copied to or from an AMQP Message unless
explicitly identified via 'requestHeaderNames' and/or 'replyHeaderNames'
(see AbstractHeaderMapper.setRequestHeaderNames(String[])
and AbstractHeaderMapper.setReplyHeaderNames(String[])}
as well as 'mapped-request-headers' and 'mapped-reply-headers' attributes of the AMQP adapters).
If you need to copy all user-defined headers simply use wild-card character '*'.
Constants for the AMQP header keys are defined in AmqpHeaders.
- Since:
- 2.1
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.mapping.AbstractHeaderMapper
org.springframework.integration.mapping.AbstractHeaderMapper.CompositeHeaderMatcher, org.springframework.integration.mapping.AbstractHeaderMapper.ContentBasedHeaderMatcher, org.springframework.integration.mapping.AbstractHeaderMapper.HeaderMatcher, org.springframework.integration.mapping.AbstractHeaderMapper.PatternBasedHeaderMatcher, org.springframework.integration.mapping.AbstractHeaderMapper.PrefixBasedMatcher, org.springframework.integration.mapping.AbstractHeaderMapper.SinglePatternBasedHeaderMatcher -
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protectedDefaultAmqpHeaderMapper(java.lang.String[] requestHeaderNames, java.lang.String[] replyHeaderNames) -
Method Summary
Modifier and Type Method Description protected java.util.Map<java.lang.String,java.lang.Object>extractStandardHeaders(org.springframework.amqp.core.MessageProperties amqpMessageProperties)Extract "standard" headers from an AMQP MessageProperties instance.protected java.util.Map<java.lang.String,java.lang.Object>extractUserDefinedHeaders(org.springframework.amqp.core.MessageProperties amqpMessageProperties)Extract user-defined headers from an AMQP MessageProperties instance.static DefaultAmqpHeaderMapperinboundMapper()Construct a default inbound header mapper.static java.lang.String[]inboundReplyHeaders()static java.lang.String[]inboundRequestHeaders()static DefaultAmqpHeaderMapperoutboundMapper()Construct a default outbound header mapper.static java.lang.String[]outboundReplyHeaders()static java.lang.String[]outboundRequestHeaders()protected voidpopulateStandardHeaders(java.util.Map<java.lang.String,java.lang.Object> allHeaders, java.util.Map<java.lang.String,java.lang.Object> headers, org.springframework.amqp.core.MessageProperties amqpMessageProperties)Maps headers from a Spring Integration MessageHeaders instance to the MessageProperties of an AMQP Message.protected voidpopulateStandardHeaders(java.util.Map<java.lang.String,java.lang.Object> headers, org.springframework.amqp.core.MessageProperties amqpMessageProperties)Maps headers from a Spring Integration MessageHeaders instance to the MessageProperties of an AMQP Message.protected voidpopulateUserDefinedHeader(java.lang.String headerName, java.lang.Object headerValue, org.springframework.amqp.core.MessageProperties amqpMessageProperties)java.util.Map<java.lang.String,java.lang.Object>toHeadersFromRequest(org.springframework.amqp.core.MessageProperties source)Methods inherited from class org.springframework.integration.mapping.AbstractHeaderMapper
createDefaultHeaderMatcher, createHeaderMatcher, createTargetPropertyName, fromHeadersToReply, fromHeadersToRequest, getClassLoader, getHeaderIfAvailable, getTransientHeaderNames, setBeanClassLoader, setReplyHeaderNames, setRequestHeaderNames, toHeadersFromReply
-
Constructor Details
-
DefaultAmqpHeaderMapper
protected DefaultAmqpHeaderMapper(java.lang.String[] requestHeaderNames, java.lang.String[] replyHeaderNames)
-
-
Method Details
-
extractStandardHeaders
protected java.util.Map<java.lang.String,java.lang.Object> extractStandardHeaders(org.springframework.amqp.core.MessageProperties amqpMessageProperties)Extract "standard" headers from an AMQP MessageProperties instance.- Specified by:
extractStandardHeadersin classorg.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
-
extractUserDefinedHeaders
protected java.util.Map<java.lang.String,java.lang.Object> extractUserDefinedHeaders(org.springframework.amqp.core.MessageProperties amqpMessageProperties)Extract user-defined headers from an AMQP MessageProperties instance.- Specified by:
extractUserDefinedHeadersin classorg.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
-
populateStandardHeaders
protected void populateStandardHeaders(java.util.Map<java.lang.String,java.lang.Object> headers, org.springframework.amqp.core.MessageProperties amqpMessageProperties)Maps headers from a Spring Integration MessageHeaders instance to the MessageProperties of an AMQP Message.- Specified by:
populateStandardHeadersin classorg.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
-
populateStandardHeaders
protected void populateStandardHeaders(@Nullable java.util.Map<java.lang.String,java.lang.Object> allHeaders, java.util.Map<java.lang.String,java.lang.Object> headers, org.springframework.amqp.core.MessageProperties amqpMessageProperties)Maps headers from a Spring Integration MessageHeaders instance to the MessageProperties of an AMQP Message.- Overrides:
populateStandardHeadersin classorg.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
-
populateUserDefinedHeader
protected void populateUserDefinedHeader(java.lang.String headerName, java.lang.Object headerValue, org.springframework.amqp.core.MessageProperties amqpMessageProperties)- Specified by:
populateUserDefinedHeaderin classorg.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
-
toHeadersFromRequest
public java.util.Map<java.lang.String,java.lang.Object> toHeadersFromRequest(org.springframework.amqp.core.MessageProperties source)- Specified by:
toHeadersFromRequestin interfaceorg.springframework.integration.mapping.RequestReplyHeaderMapper<org.springframework.amqp.core.MessageProperties>- Overrides:
toHeadersFromRequestin classorg.springframework.integration.mapping.AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
-
inboundMapper
Construct a default inbound header mapper.- Returns:
- the mapper.
- Since:
- 4.3
- See Also:
inboundRequestHeaders(),inboundReplyHeaders()
-
outboundMapper
Construct a default outbound header mapper.- Returns:
- the mapper.
- Since:
- 4.3
- See Also:
outboundRequestHeaders(),outboundReplyHeaders()
-
inboundRequestHeaders
public static java.lang.String[] inboundRequestHeaders()- Returns:
- the default request headers for an inbound mapper.
- Since:
- 4.3
-
inboundReplyHeaders
public static java.lang.String[] inboundReplyHeaders()- Returns:
- the default reply headers for an inbound mapper.
- Since:
- 4.3
-
outboundRequestHeaders
public static java.lang.String[] outboundRequestHeaders()- Returns:
- the default request headers for an outbound mapper.
- Since:
- 4.3
-
outboundReplyHeaders
public static java.lang.String[] outboundReplyHeaders()- Returns:
- the default reply headers for an outbound mapper.
- Since:
- 4.3
-