Class VeniceAvroKafkaSerializer
java.lang.Object
com.linkedin.venice.serialization.avro.VeniceAvroKafkaSerializer
- All Implemented Interfaces:
VeniceKafkaSerializer<Object>
,Closeable
,AutoCloseable
,org.apache.kafka.common.serialization.Deserializer<Object>
,org.apache.kafka.common.serialization.Serializer<Object>
This class is a thin wrapper of
AvroSerializer
and AvroGenericDeserializer
.
It is necessary to have a separate class responsible for this in this module in order to implement
Kafka's interface, which is a dependency we do not want to leak into the schema-common module where
the two above classes are located.-
Constructor Summary
ConstructorDescriptionVeniceAvroKafkaSerializer
(String schemaStr) VeniceAvroKafkaSerializer
(org.apache.avro.Schema schema) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close this serializer.void
Configure this class.deserialize
(byte[] bytes) deserialize
(String topic, byte[] bytes) Create an object from an array of bytesdeserialize
(ByteBuffer byteBuffer) byte[]
Construct an array of bytes from the given objectMethods 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
deserialize
Methods inherited from interface org.apache.kafka.common.serialization.Serializer
serialize
-
Constructor Details
-
VeniceAvroKafkaSerializer
-
VeniceAvroKafkaSerializer
public VeniceAvroKafkaSerializer(org.apache.avro.Schema schema)
-
-
Method Details
-
close
public void close()Close this serializer. This method has to be idempotent if the serializer is used in KafkaProducer because it might be called multiple times.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceorg.apache.kafka.common.serialization.Deserializer<Object>
- Specified by:
close
in interfaceorg.apache.kafka.common.serialization.Serializer<Object>
- Specified by:
close
in interfaceVeniceKafkaSerializer<Object>
-
configure
Configure this class.- Specified by:
configure
in interfaceorg.apache.kafka.common.serialization.Deserializer<Object>
- Specified by:
configure
in interfaceorg.apache.kafka.common.serialization.Serializer<Object>
- Specified by:
configure
in interfaceVeniceKafkaSerializer<Object>
- Parameters:
configMap
- configs in key/value pairsisKey
- whether is for key or value
-
serialize
Description copied from interface:VeniceKafkaSerializer
Construct an array of bytes from the given object- Specified by:
serialize
in interfaceorg.apache.kafka.common.serialization.Serializer<Object>
- Specified by:
serialize
in interfaceVeniceKafkaSerializer<Object>
- Parameters:
topic
- Topic to which the object belongs.object
- The object- Returns:
- The bytes taken from the object
-
deserialize
Description copied from interface:VeniceKafkaSerializer
Create an object from an array of bytes- Specified by:
deserialize
in interfaceorg.apache.kafka.common.serialization.Deserializer<Object>
- Specified by:
deserialize
in interfaceVeniceKafkaSerializer<Object>
- Parameters:
topic
- Topic to which the array of bytes belongs.bytes
- An array of bytes with the objects data- Returns:
- A java object serialzed from the bytes
-
deserialize
-
deserialize
-