Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Kafka >> mail # user >> producer encoder class api

Copy link to this message
producer encoder class api
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.


Jay Kreps 2013-09-06, 18:00
Joel Koshy 2013-09-06, 18:01
Joel Koshy 2013-09-06, 18:04
Jason Rosenberg 2013-09-07, 06:31