Class DefaultKafkaHeaderMapper

java.lang.Object
org.springframework.kafka.support.AbstractKafkaHeaderMapper
org.springframework.kafka.support.DefaultKafkaHeaderMapper
All Implemented Interfaces:
KafkaHeaderMapper

@Deprecated(forRemoval=true, since="4.0") public class DefaultKafkaHeaderMapper extends AbstractKafkaHeaderMapper
Deprecated, for removal: This API element is subject to removal in a future version.
since 4.0 in favor of JsonKafkaHeaderMapper for Jackson 3.
Default header mapper for Apache Kafka. Most headers in KafkaHeaders are not mapped on outbound messages. The exceptions are correlation and reply headers for request/reply messaging. Header types are added to a special header JSON_TYPES.
Since:
1.3
Author:
Gary Russell, Artem Bilan, Soby Chacko, Sanghyoek An
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Deprecated, for removal: This API element is subject to removal in a future version.
    Represents a header that could not be decoded due to an untrusted type.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Deprecated, for removal: This API element is subject to removal in a future version.
    Header name for java types of other headers.

    Fields inherited from class org.springframework.kafka.support.AbstractKafkaHeaderMapper

    logger
  • Constructor Summary

    Constructors
    Constructor
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    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)
    Deprecated, for removal: This API element is subject to removal in a future version.
    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, String... patterns)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Construct an instance with the provided object mapper and the provided header patterns for outbound headers; all inbound headers are mapped.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Construct an instance with a default object mapper and the provided header patterns for outbound headers; all inbound headers are mapped.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addToStringClasses(String... classNames)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Add class names that the outbound mapper should perform toString() operations on before mapping.
    void
    addTrustedPackages(String... packagesToTrust)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Add packages to the trusted packages list used when constructing objects from JSON.
    forInboundOnlyWithMatchers(com.fasterxml.jackson.databind.ObjectMapper objectMapper, String... patterns)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Create an instance for inbound mapping only with pattern matching.
    Deprecated, for removal: This API element is subject to removal in a future version.
    Create an instance for inbound mapping only with pattern matching.
    void
    fromHeaders(MessageHeaders headers, org.apache.kafka.common.header.Headers target)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Map from the given MessageHeaders to the specified target headers.
    protected com.fasterxml.jackson.databind.ObjectMapper
    Deprecated, for removal: This API element is subject to removal in a future version.
    Return the object mapper.
    protected Set<String>
    Deprecated, for removal: This API element is subject to removal in a future version.
    Provide direct access to the toString() classes by subclasses.
    protected Set<String>
    Deprecated, for removal: This API element is subject to removal in a future version.
    Provide direct access to the trusted packages set for subclasses.
    protected boolean
    Deprecated, for removal: This API element is subject to removal in a future version.
     
    void
    setEncodeStrings(boolean encodeStrings)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Set to true to encode String-valued headers as JSON string ("..."), by default just the raw String value is converted to a byte array using the configured charset.
    void
    toHeaders(org.apache.kafka.common.header.Headers source, Map<String,Object> headers)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Map from the given native headers to a map of headers for the eventual MessageHeaders.
    protected boolean
    trusted(String requestedType)
    Deprecated, for removal: This API element is subject to removal in a future version.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • JSON_TYPES

      public static final String JSON_TYPES
      Deprecated, for removal: This API element is subject to removal in a future version.
      Header name for java types of other headers.
      See Also:
  • Constructor Details

    • DefaultKafkaHeaderMapper

      public DefaultKafkaHeaderMapper()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct an instance with the default object mapper and default header patterns for outbound headers; all inbound headers are mapped. The default pattern list is "!id", "!timestamp" and "*". In addition, most of the headers in KafkaHeaders are never mapped as headers since they represent data in consumer/producer records.
      See Also:
    • DefaultKafkaHeaderMapper

      public DefaultKafkaHeaderMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct an instance with the provided object mapper and default header patterns for outbound headers; all inbound headers are mapped. The patterns are applied in order, stopping on the first match (positive or negative). Patterns are negated by preceding them with "!". The default pattern list is "!id", "!timestamp" and "*". In addition, most of the headers in KafkaHeaders are never mapped as headers since they represent data in consumer/producer records.
      Parameters:
      objectMapper - the object mapper.
      See Also:
    • DefaultKafkaHeaderMapper

      public DefaultKafkaHeaderMapper(String... patterns)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct an instance with a default object mapper and the provided header patterns for outbound headers; all inbound headers are mapped. The patterns are applied in order, stopping on the first match (positive or negative). Patterns are negated by preceding them with "!". The patterns will replace the default patterns; you generally should not map the "id" and "timestamp" headers. Note: most of the headers in KafkaHeaders are ever mapped as headers since they represent data in consumer/producer records.
      Parameters:
      patterns - the patterns.
      See Also:
    • DefaultKafkaHeaderMapper

      public DefaultKafkaHeaderMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper, String... patterns)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Construct an instance with the provided object mapper and the provided header patterns for outbound headers; all inbound headers are mapped. The patterns are applied in order, stopping on the first match (positive or negative). Patterns are negated by preceding them with "!". The patterns will replace the default patterns; you generally should not map the "id" and "timestamp" headers. Note: most of the headers in KafkaHeaders are never mapped as headers since they represent data in consumer/producer records.
      Parameters:
      objectMapper - the object mapper.
      patterns - the patterns.
      See Also:
  • Method Details

    • forInboundOnlyWithMatchers

      public static DefaultKafkaHeaderMapper forInboundOnlyWithMatchers(String... patterns)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance for inbound mapping only with pattern matching.
      Parameters:
      patterns - the patterns to match.
      Returns:
      the header mapper.
      Since:
      2.8.8
    • forInboundOnlyWithMatchers

      public static DefaultKafkaHeaderMapper forInboundOnlyWithMatchers(com.fasterxml.jackson.databind.ObjectMapper objectMapper, String... patterns)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance for inbound mapping only with pattern matching.
      Parameters:
      objectMapper - the object mapper.
      patterns - the patterns to match.
      Returns:
      the header mapper.
      Since:
      2.8.8
    • getObjectMapper

      protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Return the object mapper.
      Returns:
      the mapper.
    • getTrustedPackages

      protected Set<String> getTrustedPackages()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Provide direct access to the trusted packages set for subclasses.
      Returns:
      the trusted packages.
      Since:
      2.2
    • getToStringClasses

      protected Set<String> getToStringClasses()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Provide direct access to the toString() classes by subclasses.
      Returns:
      the toString() classes.
      Since:
      2.2
    • isEncodeStrings

      protected boolean isEncodeStrings()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • setEncodeStrings

      public void setEncodeStrings(boolean encodeStrings)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set to true to encode String-valued headers as JSON string ("..."), by default just the raw String value is converted to a byte array using the configured charset. Set to true if a consumer of the outbound record is using Spring for Apache Kafka version less than 2.3
      Parameters:
      encodeStrings - true to encode (default false).
      Since:
      2.3
    • addTrustedPackages

      public void addTrustedPackages(String... packagesToTrust)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Add packages to the trusted packages list used when constructing objects from JSON. By default, the following packages are trusted:
      • java.lang
      • java.net
      • java.util
      • org.springframework.util
      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.
      Parameters:
      packagesToTrust - the packages to trust.
    • addToStringClasses

      public void addToStringClasses(String... classNames)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Add class names that the outbound mapper should perform toString() operations on before mapping.
      Parameters:
      classNames - the class names.
      Since:
      2.2
    • fromHeaders

      public void fromHeaders(MessageHeaders headers, org.apache.kafka.common.header.Headers target)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: KafkaHeaderMapper
      Map from the given MessageHeaders to the specified target headers.
      Parameters:
      headers - the abstracted MessageHeaders.
      target - the native target headers.
    • toHeaders

      public void toHeaders(org.apache.kafka.common.header.Headers source, Map<String,Object> headers)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: KafkaHeaderMapper
      Map from the given native headers to a map of headers for the eventual MessageHeaders.
      Parameters:
      source - the native headers.
      headers - the target headers.
    • trusted

      protected boolean trusted(String requestedType)
      Deprecated, for removal: This API element is subject to removal in a future version.