[
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)