[ https://issues.apache.org/jira/browse/KAFKA-1049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13971991#comment-13971991 ]
Sharmarke Aden commented on KAFKA-1049: --------------------------------------- Is it safe to assume that going forward the onus of encoder/decoder configuration will be on the implementing class and that VerifiableProperties will not be required by Encoder/Decoder implementations? Or are you saying that Kafka will no longer provide/deprecate Encoder/Decoder interfaces and default StringEncoder/StringDecoder classes? +1 for getting rid of Encoder/Decoder classes and having producer/consumer deal strictly in bytes. > 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 > Attachments: KAFKA-1049.patch > > > 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 was sent by Atlassian JIRA (v6.2#6252)