public class DefaultAmqpHeaderMapper extends AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties> implements AmqpHeaderMapper
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
.
AbstractHeaderMapper.CompositeHeaderMatcher, AbstractHeaderMapper.ContentBasedHeaderMatcher, AbstractHeaderMapper.HeaderMatcher, AbstractHeaderMapper.PatternBasedHeaderMatcher, AbstractHeaderMapper.PrefixBasedMatcher, AbstractHeaderMapper.SinglePatternBasedHeaderMatcher
logger, NON_STANDARD_HEADER_NAME_PATTERN, STANDARD_REPLY_HEADER_NAME_PATTERN, STANDARD_REQUEST_HEADER_NAME_PATTERN
Constructor and Description |
---|
DefaultAmqpHeaderMapper()
Deprecated.
- use
inboundMapper() and outboundMapper() depending
on the context in which the mapper is to be used. |
Modifier and Type | Method and 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 DefaultAmqpHeaderMapper |
inboundMapper()
Construct a default inbound header mapper.
|
static java.lang.String[] |
inboundReplyHeaders() |
static java.lang.String[] |
inboundRequestHeaders() |
static DefaultAmqpHeaderMapper |
outboundMapper()
Construct a default outbound header mapper.
|
static java.lang.String[] |
outboundReplyHeaders() |
static java.lang.String[] |
outboundRequestHeaders() |
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.
|
protected void |
populateUserDefinedHeader(java.lang.String headerName,
java.lang.Object headerValue,
org.springframework.amqp.core.MessageProperties amqpMessageProperties)
Populate the specified user-defined headers to the specified source.
|
java.util.Map<java.lang.String,java.lang.Object> |
toHeadersFromRequest(org.springframework.amqp.core.MessageProperties source)
Map from the given request object to abstracted
MessageHeaders . |
createDefaultHeaderMatcher, createHeaderMatcher, createTargetPropertyName, fromHeadersToReply, fromHeadersToRequest, getHeaderIfAvailable, getTransientHeaderNames, setReplyHeaderNames, setRequestHeaderNames, toHeadersFromReply
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
fromHeadersToReply, fromHeadersToRequest, toHeadersFromReply
@Deprecated public DefaultAmqpHeaderMapper()
inboundMapper()
and outboundMapper()
depending
on the context in which the mapper is to be used.protected java.util.Map<java.lang.String,java.lang.Object> extractStandardHeaders(org.springframework.amqp.core.MessageProperties amqpMessageProperties)
extractStandardHeaders
in class AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
amqpMessageProperties
- the source object to extract standard headers.protected java.util.Map<java.lang.String,java.lang.Object> extractUserDefinedHeaders(org.springframework.amqp.core.MessageProperties amqpMessageProperties)
extractUserDefinedHeaders
in class AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
amqpMessageProperties
- the source object to extract user defined headers.protected void populateStandardHeaders(java.util.Map<java.lang.String,java.lang.Object> headers, org.springframework.amqp.core.MessageProperties amqpMessageProperties)
populateStandardHeaders
in class AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
headers
- the map of standard headers to be populated.amqpMessageProperties
- the target object to populate headers.protected void populateUserDefinedHeader(java.lang.String headerName, java.lang.Object headerValue, org.springframework.amqp.core.MessageProperties amqpMessageProperties)
AbstractHeaderMapper
populateUserDefinedHeader
in class AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
headerName
- the user defined header name to be populated.headerValue
- the user defined header value to be populated.amqpMessageProperties
- the target object to populate headers.public java.util.Map<java.lang.String,java.lang.Object> toHeadersFromRequest(org.springframework.amqp.core.MessageProperties source)
RequestReplyHeaderMapper
MessageHeaders
.toHeadersFromRequest
in interface RequestReplyHeaderMapper<org.springframework.amqp.core.MessageProperties>
toHeadersFromRequest
in class AbstractHeaderMapper<org.springframework.amqp.core.MessageProperties>
source
- the native target requestpublic static DefaultAmqpHeaderMapper inboundMapper()
inboundRequestHeaders()
,
inboundReplyHeaders()
public static DefaultAmqpHeaderMapper outboundMapper()
outboundRequestHeaders()
,
outboundReplyHeaders()
public static java.lang.String[] inboundRequestHeaders()
public static java.lang.String[] inboundReplyHeaders()
public static java.lang.String[] outboundRequestHeaders()
public static java.lang.String[] outboundReplyHeaders()