public class DelegatingDeserializer
extends java.lang.Object
implements org.apache.kafka.common.serialization.Deserializer<java.lang.Object>
Deserializer
that delegates to other deserializers based on a serialization
selector header.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SERIALIZATION_SELECTOR_CONFIG
Name of the configuration property containing the serialization selector map with
format
selector:class,... . |
Constructor and Description |
---|
DelegatingDeserializer()
Construct an instance that will be configured in
configure(Map, boolean)
with a consumer property
SERIALIZATION_SELECTOR_CONFIG . |
DelegatingDeserializer(java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> delegates)
Construct an instance with the supplied mapping of selectors to delegate
deserializers.
|
Modifier and Type | Method and Description |
---|---|
void |
addDelegate(java.lang.String selector,
org.apache.kafka.common.serialization.Deserializer<?> deserializer) |
void |
close() |
void |
configure(java.util.Map<java.lang.String,?> configs,
boolean isKey) |
protected static java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> |
createDelegates(java.lang.String mappings,
java.util.Map<java.lang.String,?> configs,
boolean isKey) |
protected static void |
createInstanceAndConfigure(java.util.Map<java.lang.String,?> configs,
boolean isKey,
java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> delegateMap,
java.lang.String selector,
java.lang.String className) |
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 static void |
instantiateAndConfigure(java.util.Map<java.lang.String,?> configs,
boolean isKey,
java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> delegateMap,
java.lang.String selector,
java.lang.Class<?> clazz) |
org.apache.kafka.common.serialization.Deserializer<?> |
removeDelegate(java.lang.String selector) |
public static final java.lang.String SERIALIZATION_SELECTOR_CONFIG
selector:class,...
.public DelegatingDeserializer()
configure(Map, boolean)
with a consumer property
SERIALIZATION_SELECTOR_CONFIG
.public DelegatingDeserializer(java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> delegates)
DelegatingSerializer.SERIALIZATION_SELECTOR
header.delegates
- the map of delegates.public void configure(java.util.Map<java.lang.String,?> configs, boolean isKey)
configure
in interface org.apache.kafka.common.serialization.Deserializer<java.lang.Object>
protected static java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> createDelegates(java.lang.String mappings, java.util.Map<java.lang.String,?> configs, boolean isKey)
protected static void createInstanceAndConfigure(java.util.Map<java.lang.String,?> configs, boolean isKey, java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> delegateMap, java.lang.String selector, java.lang.String className)
protected static void instantiateAndConfigure(java.util.Map<java.lang.String,?> configs, boolean isKey, java.util.Map<java.lang.String,org.apache.kafka.common.serialization.Deserializer<?>> delegateMap, java.lang.String selector, java.lang.Class<?> clazz)
public void addDelegate(java.lang.String selector, org.apache.kafka.common.serialization.Deserializer<?> deserializer)
@Nullable public org.apache.kafka.common.serialization.Deserializer<?> removeDelegate(java.lang.String selector)
public java.lang.Object deserialize(java.lang.String topic, byte[] data)
deserialize
in interface org.apache.kafka.common.serialization.Deserializer<java.lang.Object>
public java.lang.Object deserialize(java.lang.String topic, org.apache.kafka.common.header.Headers headers, byte[] data)
deserialize
in interface org.apache.kafka.common.serialization.Deserializer<java.lang.Object>
public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in interface org.apache.kafka.common.serialization.Deserializer<java.lang.Object>