![](/img/trans.png)
[英]Using Schema Registry from Confluent with Avro and Kafka in Spring Boot Applications
[英]AVRO Generated pojo's + Kafka + Spring Cloud Schema Registry
我正在考虑使用模式来验证我的 kafka 主题上的数据。 我正在结合 apache kafka 探索spring 云模式注册表。
如果我在阅读文档后理解正确。 Spring 云模式注册表仅支持 avro 模式! 在 avro 中,需要使用类路径上的.avsc文件生成 pojos,并且有一个 maven 插件可以满足需要。
问题:
如果我像这样对我的 pojo 进行自定义验证怎么办? 我不希望使用 avro 模式在我的 kafka 消费者中生成这个 pojo,因为这样我就失去了验证。 有没有人遇到过类似的问题? 如果是这样,你是如何解决的?
public class Pojo implements Serializable {
@Color
private String colour;
.....
@Target({ElementType.FIELD, ElementType.PARAMETER, ElementType.TYPE_USE})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = ColorValidator.class)
public @interface Color {
.....
public class ColorValidator implements ConstraintValidator<Color, String> {
......
如果我的 pojo 有自定义验证怎么办
如果您从模式文件生成 POJO,您仍然可以定义ConstraintValidator
实现。
换句话说,您制作 AVSC,并使用avro-maven-plugin
创建类 ( mvn compile
),然后类路径将具有可用于定义约束验证器的类。
不过,您可能想查看CustomEncoding
class 以实际验证 Avro 对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.