我想为我的 Kafka 消息有效负载包含 traceId 和元数据。所以我为 Kafka 消息有效负载定义了以下类型。
public class KafkaMessage<T> {
private String traceId;
private Map<String, String> metaData = new HashMap<>();
private T content;
}
然后我有两种类型的狗和猫。我还创建了两种 Kafka 消息有效负载类型两种。
public class Dog {
private int name;
}
public class DogKafkaMessage extends KafkaMessage<Dog>{
}
public class Car {
private int numberOfWheels;
}
public class CarKafkaMessage extends KafkaMessage<Car> {
}
我想在 Avro 模式中表示这两种类型。有可能这样吗?如果是这样,请帮助我。
我可以为 Kafka 消息生产者和消费者使用 JSON 序列化器/反序列化器。但我期待使用 Avro。
谢谢。