kafka-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Rosenberg <...@squareup.com>
Subject producer encoder class api
Date Fri, 06 Sep 2013 16:50:22 GMT
So, it seems that if I want to set a custom serializer class on the
producer (in 0.8), I have to use a class that includes a special
constructor like:

public class MyKafkaEncoder<MyType> implements Encoder<MyType> {
  // This constructor is expected by the kafka producer, used by reflection
*  public MyKafkaEncoder(VerifiableProperties props) {*
*    // what can I do with this?*
*  }*

  public byte[] toBytes(MyType message) {
    return message.toByteArray();

It seems odd that this would be a requirement when implementing an
interface.  This seems not to have been the case in 0.7.

What could my encoder class do with the VerifiableProperties?

Also, in general, there are a set of classes under kafka.javaapi, but in
order to do anything useful from java, one does have to use classes (such
as Encoder), from outside the javaapi package.  I'm guessing ultimately,
the idea would be to provide a java api that might include everything a
client would need.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message