![](/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.