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.Closeableclose in interface java.lang.AutoCloseableclose in interface org.apache.kafka.common.serialization.Deserializer<java.lang.Object>