public class DefaultKafkaHeaderMapper extends java.lang.Object implements KafkaHeaderMapper
KafkaHeaders
are never mapped on outbound messages.Modifier and Type | Class and Description |
---|---|
static class |
DefaultKafkaHeaderMapper.NonTrustedHeaderType
Represents a header that could not be decoded due to an untrusted type.
|
protected static class |
DefaultKafkaHeaderMapper.SimplePatternBasedHeaderMatcher
A pattern-based header matcher that matches if the specified
header matches the specified simple pattern.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
JSON_TYPES
Header name for java types of other headers.
|
Constructor and Description |
---|
DefaultKafkaHeaderMapper()
Construct an instance with the default object mapper and default header patterns
for outbound headers; all inbound headers are mapped.
|
DefaultKafkaHeaderMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Construct an instance with the provided object mapper and default header patterns
for outbound headers; all inbound headers are mapped.
|
DefaultKafkaHeaderMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper,
java.lang.String... patterns)
Construct an instance with the provided object mapper and the provided header
patterns for outbound headers; all inbound headers are mapped.
|
DefaultKafkaHeaderMapper(java.lang.String... patterns)
Construct an instance with a default object mapper and the provided header patterns
for outbound headers; all inbound headers are mapped.
|
Modifier and Type | Method and Description |
---|---|
void |
addTrustedPackages(java.lang.String... trustedPackages)
Add packages to the trusted packages list (default
java.util, java.lang ) used
when constructing objects from JSON. |
void |
fromHeaders(org.springframework.messaging.MessageHeaders headers,
org.apache.kafka.common.header.Headers target)
Map from the given
MessageHeaders to the specified target message. |
protected com.fasterxml.jackson.databind.ObjectMapper |
getObjectMapper()
Return the object mapper.
|
protected boolean |
matches(java.lang.String header) |
void |
toHeaders(org.apache.kafka.common.header.Headers source,
java.util.Map<java.lang.String,java.lang.Object> headers)
Map from the given target message to abstracted
MessageHeaders . |
protected boolean |
trusted(java.lang.String requestedType) |
public static final java.lang.String JSON_TYPES
public DefaultKafkaHeaderMapper()
"!id", "!timestamp" and "*"
. In addition, none of the headers in
KafkaHeaders
are ever mapped as headers since they represent data in
consumer/producer records.DefaultKafkaHeaderMapper(ObjectMapper)
public DefaultKafkaHeaderMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
"!id", "!timestamp" and "*"
. In addition, none of the headers in
KafkaHeaders
are ever mapped as headers since they represent data in
consumer/producer records.objectMapper
- the object mapper.PatternMatchUtils.simpleMatch(String, String)
public DefaultKafkaHeaderMapper(java.lang.String... patterns)
"id" and "timestamp"
headers. Note:
none of the headers in KafkaHeaders
are ever mapped as headers since they
represent data in consumer/producer records.patterns
- the patterns.PatternMatchUtils.simpleMatch(String, String)
public DefaultKafkaHeaderMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper, java.lang.String... patterns)
"id" and "timestamp"
headers. Note: none
of the headers in KafkaHeaders
are ever mapped as headers since they
represent data in consumer/producer records.objectMapper
- the object mapper.patterns
- the patterns.PatternMatchUtils.simpleMatch(String, String)
protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
public void addTrustedPackages(java.lang.String... trustedPackages)
java.util, java.lang
) used
when constructing objects from JSON.
If any of the supplied packages is "*"
, all packages are trusted.
If a class for a non-trusted package is encountered, the header is returned to the
application with value of type DefaultKafkaHeaderMapper.NonTrustedHeaderType
.trustedPackages
- the packages to trust.public void fromHeaders(org.springframework.messaging.MessageHeaders headers, org.apache.kafka.common.header.Headers target)
KafkaHeaderMapper
MessageHeaders
to the specified target message.fromHeaders
in interface KafkaHeaderMapper
headers
- the abstracted MessageHeaders.target
- the native target message.protected boolean matches(java.lang.String header)
public void toHeaders(org.apache.kafka.common.header.Headers source, java.util.Map<java.lang.String,java.lang.Object> headers)
KafkaHeaderMapper
MessageHeaders
.toHeaders
in interface KafkaHeaderMapper
source
- the native target message.headers
- the target headers.protected boolean trusted(java.lang.String requestedType)