java - Kafka 反序列化嵌套泛型类型

标签 java jackson apache-kafka json-deserialization

给定这样一个类

public class Message<T> implements Serializable {
  final String correlationId;
  final LocalDateTime timestamp;
  final T payload
}

如何实现可以处理嵌套泛型类型的自定义 Kafka 反序列化器?

序列化应该非常简单,因为类型信息可用。

但是反序列化时没有类型信息怎么办?

p.s: 我正在使用 jackson 进行序列化/反序列化。

最佳答案

通过让 jackson 在序列化时包含类型信息来解决。

public class Message<T> implements Serializable {
  final String correlationId;
  final LocalDateTime timestamp;

  @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="@class")
  final T payload
}

关于java - Kafka 反序列化嵌套泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51834248/

相关文章:

java - 代号一中的 HTML 解析,无需使用 XML 解析器

java - 贪吃蛇游戏。如何让蛇吃烂苹果后失去一根尾部?

java - 注释作为另一个注释的快捷方式?

java - 当经纪人关闭时,卡夫卡生产者正在丢失消息

java - 多播的替代方案

java - HTML::Anyway 到 'split' body 标签?

java - 默认情况下使用 Jackson 解析为子类

java - Dropwizard 读取请求 JSON

apache-kafka - 从kafka到带有水槽的HDFS的avro事件

apache-kafka - Kafka集群故障如何处理