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:
java.io.Closeable
,java.lang.AutoCloseable
,org.apache.kafka.common.serialization.Deserializer<java.lang.Object>
public class DelegatingByTopicDeserializer extends DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>> implements org.apache.kafka.common.serialization.Deserializer<java.lang.Object>
ADeserializer
that delegates to other deserializers based on the topic name.- Since:
- 2.8
- Author:
- Gary Russell
-
-
Field Summary
-
Fields inherited from class org.springframework.kafka.support.serializer.DelegatingByTopicSerialization
CASE_SENSITIVE, KEY_SERIALIZATION_TOPIC_CONFIG, KEY_SERIALIZATION_TOPIC_DEFAULT, VALUE_SERIALIZATION_TOPIC_CONFIG, VALUE_SERIALIZATION_TOPIC_DEFAULT
-
-
Constructor Summary
Constructors Constructor Description DelegatingByTopicDeserializer()
Construct an instance that will be configured inconfigure(Map, boolean)
with consumer properties.DelegatingByTopicDeserializer(java.util.Map<java.util.regex.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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configure(java.util.Map<java.lang.String,?> configs, boolean isKey)
protected org.apache.kafka.common.serialization.Deserializer<?>
configureDelegate(java.util.Map<java.lang.String,?> configs, boolean isKey, org.apache.kafka.common.serialization.Deserializer<?> delegate)
Configure the delegate.java.lang.Object
deserialize(java.lang.String topic, byte[] data)
java.lang.Object
deserialize(java.lang.String topic, org.apache.kafka.common.header.Headers headers, byte[] data)
protected boolean
isInstance(java.lang.Object delegate)
Return true if this object is an instance of T.-
Methods inherited from class org.springframework.kafka.support.serializer.DelegatingByTopicSerialization
addDelegate, build, buildDefault, close, findDelegate, instantiateAndConfigure, removeDelegate, setCaseSensitive
-
-
-
-
Constructor Detail
-
DelegatingByTopicDeserializer
public DelegatingByTopicDeserializer()
Construct an instance that will be configured inconfigure(Map, boolean)
with consumer properties.
-
DelegatingByTopicDeserializer
public DelegatingByTopicDeserializer(java.util.Map<java.util.regex.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 Detail
-
configure
public void configure(java.util.Map<java.lang.String,?> configs, boolean isKey)
- Specified by:
configure
in interfaceorg.apache.kafka.common.serialization.Deserializer<java.lang.Object>
- Overrides:
configure
in classDelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>>
-
configureDelegate
protected org.apache.kafka.common.serialization.Deserializer<?> configureDelegate(java.util.Map<java.lang.String,?> configs, boolean isKey, org.apache.kafka.common.serialization.Deserializer<?> delegate)
Description copied from class:DelegatingByTopicSerialization
Configure the delegate.- Specified by:
configureDelegate
in classDelegatingByTopicSerialization<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(java.lang.Object delegate)
Description copied from class:DelegatingByTopicSerialization
Return true if this object is an instance of T.- Specified by:
isInstance
in classDelegatingByTopicSerialization<org.apache.kafka.common.serialization.Deserializer<?>>
- Parameters:
delegate
- the delegate.- Returns:
- true if a T.
-
deserialize
public java.lang.Object deserialize(java.lang.String topic, byte[] data)
- Specified by:
deserialize
in interfaceorg.apache.kafka.common.serialization.Deserializer<java.lang.Object>
-
deserialize
public java.lang.Object deserialize(java.lang.String topic, org.apache.kafka.common.header.Headers headers, byte[] data)
- Specified by:
deserialize
in interfaceorg.apache.kafka.common.serialization.Deserializer<java.lang.Object>
-
-