我正在考虑使用模式来验证我的kafka主题的数据。我正在结合apache探索春季云模式注册中心。
如果我在看完这些文档后正确地理解了。Spring云模式注册表只支持avro模式!在avro中,需要使用类路径上的、.avsc、文件来生成,并且有一个maven插件来完成所需的工作。
问题:
如果我的职位上有这样的定制化证明呢?我不希望在kafka消费者中使用avro模式生成这个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> {
......发布于 2022-03-22 17:37:51
如果我在我的
上有自定义的验证怎么办?
如果从模式文件生成POJO,仍然可以定义ConstraintValidator实现。
换句话说,您可以创建AVSC,并使用avro-maven-plugin创建类(mvn compile),然后类路径将有可用的类来定义约束验证器。
不过,您可能需要查看CustomEncoding类来实际验证Avro对象。
https://stackoverflow.com/questions/71575370
复制相似问题