簡體   English   中英

AVRO 生成的 pojo's + Kafka + Spring Cloud Schema Registry

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM