Class DelegatingByTopicDeserializer

java.lang.Object
org.springframework.kafka.support.serializer.DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>>
org.springframework.kafka.support.serializer.DelegatingByTopicDeserializer
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.kafka.common.serialization.Deserializer<Object>

public class DelegatingByTopicDeserializer extends DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>> implements org.apache.kafka.common.serialization.Deserializer<Object>
A Deserializer that delegates to other deserializers based on the topic name.
Since:
2.8
Author:
Gary Russell
  • Constructor Details

    • DelegatingByTopicDeserializer

      public DelegatingByTopicDeserializer()
      Construct an instance that will be configured in configure(Map, boolean) with consumer properties.
    • DelegatingByTopicDeserializer

      public DelegatingByTopicDeserializer(Map<Pattern,org.apache.kafka.common.serialization.Deserializer<?>> delegates, org.apache.kafka.common.serialization.Deserializer<?> defaultDelegate)
      Construct an instance with the supplied mapping of topic name patterns to delegate deserializers.
      Parameters:
      delegates - the map of delegates.
      defaultDelegate - the default to use when no topic name match.
  • Method Details

    • configure

      public void configure(Map<String,?> configs, boolean isKey)
      Specified by:
      configure in interface org.apache.kafka.common.serialization.Deserializer<Object>
      Overrides:
      configure in class DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>>
    • configureDelegate

      protected org.apache.kafka.common.serialization.Deserializer<?> configureDelegate(Map<String,?> configs, boolean isKey, org.apache.kafka.common.serialization.Deserializer<?> delegate)
      Description copied from class: DelegatingByTopicSerialization
      Configure the delegate.
      Specified by:
      configureDelegate in class DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>>
      Parameters:
      configs - the configs.
      isKey - true if this is for keys.
      delegate - the delegate.
      Returns:
      the delegate.
    • isInstance

      protected boolean isInstance(Object delegate)
      Description copied from class: DelegatingByTopicSerialization
      Return true if this object is an instance of T.
      Specified by:
      isInstance in class DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>>
      Parameters:
      delegate - the delegate.
      Returns:
      true if a T.
    • deserialize

      public Object deserialize(String topic, byte[] data)
      Specified by:
      deserialize in interface org.apache.kafka.common.serialization.Deserializer<Object>
    • deserialize

      public Object deserialize(String topic, org.apache.kafka.common.header.Headers headers, byte[] data)
      Specified by:
      deserialize in interface org.apache.kafka.common.serialization.Deserializer<Object>