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

Reply via email to