首页 > 解决方案 > Kafka反序列化嵌套的泛型类型

问题描述

给定这样的课程

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

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

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

但是在反序列化时如何处理没有类型信息?

ps:我正在使用jackson进行序列化/反序列化。

标签: javajacksonapache-kafkajson-deserialization

解决方案


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

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
}

推荐阅读