You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jason Rosenberg (JIRA)" <ji...@apache.org> on 2013/09/07 08:24:51 UTC

[jira] [Created] (KAFKA-1049) Encoder implementations are required to provide an undocumented constructor.

Jason Rosenberg created KAFKA-1049:
--------------------------------------

             Summary: Encoder implementations are required to provide an undocumented constructor.
                 Key: KAFKA-1049
                 URL: https://issues.apache.org/jira/browse/KAFKA-1049
             Project: Kafka
          Issue Type: Improvement
            Reporter: Jason Rosenberg
            Priority: Minor


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?
  }

 @Override
  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?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira