Class AbstractKafkaHeaderMapper
java.lang.Object
org.springframework.kafka.support.AbstractKafkaHeaderMapper
- All Implemented Interfaces:
- KafkaHeaderMapper
- Direct Known Subclasses:
- DefaultKafkaHeaderMapper,- SimpleKafkaHeaderMapper
Base for Kafka header mappers.
- Since:
- 2.1.3
- Author:
- Gary Russell, Artem Bilan, Sanghyeok An, Soby Chacko
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprotected static interfaceA matcher for headers.protected static classA matcher that never matches a set of headers.protected static classA pattern-based header matcher that matches if the specified header matches the specified simple pattern.
- 
Field SummaryFields
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedAbstractKafkaHeaderMapper(boolean outbound, String... patterns) Construct a mapper that will match the supplied patterns (outbound) and all headers (inbound).AbstractKafkaHeaderMapper(String... patterns) Construct a mapper that will match the supplied patterns (outbound) and all headers (inbound).
- 
Method SummaryModifier and TypeMethodDescriptionprotected final voidaddMatchers(AbstractKafkaHeaderMapper.HeaderMatcher... matchersToAdd) Subclasses can invoke this to add customAbstractKafkaHeaderMapper.HeaderMatchers.voidaddRawMappedHeader(String name, boolean toString) Add a raw mapped header.protected Charsetprotected ObjectheaderValueToAddIn(org.apache.kafka.common.header.Header header) Check if the header value should be mapped to a String, if so configured.protected ObjectheaderValueToAddOut(String key, Object value) Check if the value is a String and convert to byte[], if so configured.protected booleanprotected booleanprotected booleanmatchesForInbound(String header) Matches header names for inbound mapping when configured as an inbound mapper.voidsetCharset(Charset charset) Set the charset to use when mapping String-valued headers to/from byte[].voidsetMapAllStringsOut(boolean mapAllStringsOut) Set to true to map allStringvalued outbound headers tobyte[].voidsetRawMappedHeaders(Map<String, Boolean> rawMappedHeaders) Set the headers to not perform any conversion on (exceptStringtobyte[]for outbound).Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.kafka.support.KafkaHeaderMapperfromHeaders, toHeaders
- 
Field Details- 
logger
 
- 
- 
Constructor Details- 
AbstractKafkaHeaderMapperConstruct a mapper that will match the supplied patterns (outbound) and all headers (inbound). For outbound mapping, certain internal framework headers are never mapped.- Parameters:
- patterns- the patterns.
 
- 
AbstractKafkaHeaderMapperConstruct a mapper that will match the supplied patterns (outbound) and all headers (inbound). For outbound mapping, certain internal framework headers are never mapped.- Parameters:
- outbound- true for an outbound mapper.
- patterns- the patterns.
 
 
- 
- 
Method Details- 
addMatchersSubclasses can invoke this to add customAbstractKafkaHeaderMapper.HeaderMatchers.- Parameters:
- matchersToAdd- the matchers to add.
- Since:
- 2.3
 
- 
setMapAllStringsOutpublic void setMapAllStringsOut(boolean mapAllStringsOut) Set to true to map allStringvalued outbound headers tobyte[]. To map to aStringfor inbound, there must be an entry in the rawMappedHeaders map.- Parameters:
- mapAllStringsOut- true to map all strings.
- Since:
- 2.2.5
- See Also:
 
- 
getCharset
- 
setCharsetSet the charset to use when mapping String-valued headers to/from byte[]. Default UTF-8.- Parameters:
- charset- the charset.
- Since:
- 2.2.5
- See Also:
 
- 
setRawMappedHeadersSet the headers to not perform any conversion on (exceptStringtobyte[]for outbound). Inbound headers that match will be mapped asbyte[]unless the corresponding boolean in the map value is true, in which case it will be mapped as a String. Headers mapped by default are:kafka_listenerInfo,b3,traceparent,X-B3-TraceId,X-B3-SpanId,X-B3-SampledandX-B3-Flags.- Parameters:
- rawMappedHeaders- the header names to not convert and
- Since:
- 2.2.5
- See Also:
 
- 
addRawMappedHeaderAdd a raw mapped header.- Parameters:
- name- the header name.
- toString- convert to string on inbound when true.
- Since:
- 2.7.1
- See Also:
 
- 
matches
- 
matches
- 
matchesForInboundMatches header names for inbound mapping when configured as an inbound mapper.- Parameters:
- header- the header name.
- Returns:
- true if it can be mapped.
- Since:
- 2.8.8
 
- 
headerValueToAddOut
- 
headerValueToAddInCheck if the header value should be mapped to a String, if so configured.- Parameters:
- header- the header.
- Returns:
- the value to add.
 
 
-