【问题标题】:Kafka AvroSchema not generated ,when a Class which has field with datatype as Object classKafka AvroSchema 未生成,当类具有数据类型为对象类的字段时
【发布时间】:2020-11-06 14:39:15
【问题描述】:

Kafka AvroSchema 未生成,当类具有 datatype 作为 Object class 的字段时。任何 ? 架构 。 jackson databind 无法生成 avro 模式的原因是什么。


        ObjectMapper mapperss = new ObjectMapper(new AvroFactory());
        AvroSchemaGenerator gen = new AvroSchemaGenerator();
        try {
            mapperss.acceptJsonFormatVisitor(Sample.class, gen);
        } catch (JsonMappingException jme){
            jme.printStackTrace();
        }
        AvroSchema schemaWrapper = gen.getGeneratedSchema();
        org.apache.avro.Schema avroSchema = schemaWrapper.getAvroSchema();
        String asJson = avroSchema.toString(true);
        System.out.println("Schema Generated " + asJson);
import java.io.Serializable;
import javax.validation.Valid;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;

@JsonInclude(Include.NON_EMPTY)
@JsonIgnoreProperties(
    ignoreUnknown = true
)
public class Sample implements Serializable {
    @JsonProperty("additionalFields")
    @Valid
    private Object additionalFields = null;
  public Sample() {
    }

    public Sample additionalFields(Object additionalFields) {
        this.additionalFields = additionalFields;
        return this;
    }

    public Object getAdditionalFields() {
        return this.additionalFields;
    }

    public void setAdditionalFields(Object additionalFields) {
        this.additionalFields = additionalFields;
    }
}

【问题讨论】:

    标签: java spring apache-kafka jackson-databind


    【解决方案1】:

    jackson databind 无法生成 avro 架构的原因可能是什么

    【讨论】:

      【解决方案2】:

      我在类或子类级别的字段(属性)中创建了没有 Object Class 作为 DataType 的新 POJO。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-23
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 2018-12-17
        • 1970-01-01
        • 2017-11-09
        相关资源
        最近更新 更多