org.apache.avro.SchemaParseException:未定义的名称:

时间:2017-08-02 05:46:59

标签: serialization avro

为了将泛型转换为avro架构,我使用下面的注释,但之后我得到了例外

    public class Test2<T>
    {
@AvroSchema("{\"type\":\"array\",\"items\":[\"null\",\"Test4\"]}")
    private Set<T> test4;
}

public class Test4 {

    public Integer getX() {
        return x;
    }

    public void setX(Integer x) {
        this.x = x;
    }

    public Test4(Integer x) {

        this.x = x;
    }

    public Test4() {

    }

    private Integer x;
}

我得到的错误是 org.apache.avro.SchemaParseException:未定义的名称:Test4

1 个答案:

答案 0 :(得分:0)

这件事有效

    @AvroSchema("{\"type\":\"array\",\"items\":{\"name\":\"Child\",\"type\":\"record\",\"fields\":[{\"name\":\"x\",\"type\":\"int\"}]}}")

谢谢你。