可以在扩展Kafka接口Serializer / Deserializer(org.apache.kafka.common.serialization)的类中定义serialVersionUID,类似于我们使用Serializable实现的类吗?在Java / Kafka升级期间,我们会遇到异常 - NotSerializableException吗?
例如,在KTable中,键/值使用自定义类对象进行序列化。因此,如果我们持有一些数据并且如果对Kafka或Java OR两者进行任何升级,我们是否能够读取(反序列化)在升级之前保留的键/值,而没有任何向后兼容性约束?
答案 0 :(得分:0)
如果您编写自定义Kafka Serializer
/ Deserializer
,则无需指定Java serialVersionUID
。你仍然可以这样做,但它将被闲置。
Java serialVersionUID
的目的是使用Java内置的序列化机制。但是,当您为Kafka实现自定义Serializer
/ Deserializer
时,不会使用此机制。