【问题标题】:why the avro generated java code has so many deprecated fileds为什么 avro 生成的 java 代码有这么多不推荐使用的字段
【发布时间】:2016-09-21 09:49:23
【问题描述】:

我正在使用 avro-maven-plugin 1.8.1 从 schema 生成 java 代码,并且所有字段都是公共的且已弃用,如下所示:

  public class data_elements extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  private static final long serialVersionUID = 2829359487251568000L;
  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("......");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  @Deprecated public java.lang.CharSequence timestamp;
  @Deprecated public double value;
  @Deprecated public java.lang.CharSequence op;
...
}

这让人困惑和不舒服,有人知道为什么会这样吗?

【问题讨论】:

    标签: avro


    【解决方案1】:

    如果您传入fieldVisibility=private 参数,那么@Deprecated 应该会消失并且您的字段将是私有的。

    【讨论】:

    • 对于将 POJO 视为 bean 的情况,访问本机类型不会比通过公共 getter 访问装箱类型更快吗?
    • 它不工作。我有这些,${project.basedir}/src/main/avro/${project.basedir}/src/main/java/私有
    猜你喜欢
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 2018-07-28
    相关资源
    最近更新 更多