Hi All,
I wanted to get some clarification on Kafka's Encoder/Decoder usage.
Lets say I want to implement a custom Encoder.
public class CustomMessageSerializer implements Encoder<MyCustomObject> {
@Override
public byte[] toBytes(String arg0) {
// serialize the MyCustomObject
return serializedCustomObject ;
now in my producer properties I can set serializer.class to
CustomMessageSerializer
Now, i presume that when Kafka is ready to send the message, it will run
the message through the CustomMessageSerializer.
My question is - for each message (list of messages) that is to be sent,
does a new instance of CustomMessageSerializer instantiated, or is it that,
it instantiates the CustomMessageSerializer once, and calls toBytes(...)
for every message....?
Also, as a side note does Kafka support Kryo serializer?
Regards,
-Jacob
I wanted to get some clarification on Kafka's Encoder/Decoder usage.
Lets say I want to implement a custom Encoder.
public class CustomMessageSerializer implements Encoder<MyCustomObject> {
@Override
public byte[] toBytes(String arg0) {
// serialize the MyCustomObject
return serializedCustomObject ;
now in my producer properties I can set serializer.class to
CustomMessageSerializer
Now, i presume that when Kafka is ready to send the message, it will run
the message through the CustomMessageSerializer.
My question is - for each message (list of messages) that is to be sent,
does a new instance of CustomMessageSerializer instantiated, or is it that,
it instantiates the CustomMessageSerializer once, and calls toBytes(...)
for every message....?
Also, as a side note does Kafka support Kryo serializer?
Regards,
-Jacob