Kafka Streams:POJO序列化/反序列化向后兼容性

时间:2018-05-17 02:04:42

标签: apache-kafka apache-kafka-streams

可以在扩展Kafka接口Serializer / Deserializer(org.apache.kafka.common.serialization)的类中定义serialVersionUID,类似于我们使用Serializable实现的类吗?在Java / Kafka升级期间,我们会遇到异常 - NotSerializableException吗?

例如,在KTable中,键/值使用自定义类对象进行序列化。因此,如果我们持有一些数据并且如果对Kafka或Java OR两者进行任何升级,我们是否能够读取(反序列化)在升级之前保留的键/值,而没有任何向后兼容性约束?

参考: What is a serialVersionUID and why should I use it?

1 个答案:

答案 0 :(得分:0)

如果您编写自定义Kafka Serializer / Deserializer,则无需指定Java serialVersionUID。你仍然可以这样做,但它将被闲置。

Java serialVersionUID的目的是使用Java内置的序列化机制。但是,当您为Kafka实现自定义Serializer / Deserializer时,不会使用此机制。