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
-
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
ConstructorDescriptionConstruct an instance that will be configured inconfigure(Map, boolean)
with consumer properties.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. -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected org.apache.kafka.common.serialization.Deserializer<?>
configureDelegate
(Map<String, ?> configs, boolean isKey, org.apache.kafka.common.serialization.Deserializer<?> delegate) Configure the delegate.deserialize
(String topic, byte[] data) deserialize
(String topic, org.apache.kafka.common.header.Headers headers, byte[] data) protected boolean
isInstance
(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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.kafka.common.serialization.Deserializer
close, deserialize
-
Constructor Details
-
DelegatingByTopicDeserializer
public DelegatingByTopicDeserializer()Construct an instance that will be configured inconfigure(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
- Specified by:
configure
in interfaceorg.apache.kafka.common.serialization.Deserializer<Object>
- Overrides:
configure
in classDelegatingByTopicSerialization<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 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
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
- Specified by:
deserialize
in interfaceorg.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 interfaceorg.apache.kafka.common.serialization.Deserializer<Object>
-