A
- the target message attribute type.public abstract class AbstractMessageAttributesHeaderMapper<A>
extends java.lang.Object
implements org.springframework.integration.mapping.HeaderMapper<java.util.Map<java.lang.String,A>>
HeaderMapper
implementation for common logic in SQS and SNS
around message attributes mapping.
The toHeaders(Map)
is not supported.Constructor and Description |
---|
AbstractMessageAttributesHeaderMapper() |
Modifier and Type | Method and Description |
---|---|
protected abstract A |
buildMessageAttribute(java.lang.String dataType,
java.lang.Object value) |
void |
fromHeaders(org.springframework.messaging.MessageHeaders headers,
java.util.Map<java.lang.String,A> target) |
void |
setOutboundHeaderNames(java.lang.String... outboundHeaderNames)
Provide the header names that should be mapped to a AWS request object attributes
(for outbound adapters) from a Spring Integration Message's headers.
|
java.util.Map<java.lang.String,java.lang.Object> |
toHeaders(java.util.Map<java.lang.String,A> source) |
public AbstractMessageAttributesHeaderMapper()
public void setOutboundHeaderNames(java.lang.String... outboundHeaderNames)
!
symbol,
you have to escape it prepending with the \
symbol in the pattern definition.
Defaults to map all (*
) if the type is supported by SQS.
The MessageHeaders.ID
, MessageHeaders.TIMESTAMP
, AwsHeaders.MESSAGE_ID
,
AwsHeaders.QUEUE
and AwsHeaders.TOPIC
are ignored by default.outboundHeaderNames
- The inbound header names.public void fromHeaders(org.springframework.messaging.MessageHeaders headers, java.util.Map<java.lang.String,A> target)
fromHeaders
in interface org.springframework.integration.mapping.HeaderMapper<java.util.Map<java.lang.String,A>>
protected abstract A buildMessageAttribute(java.lang.String dataType, java.lang.Object value)