4

bindy csv Dataformat (Camel 2.13.1) を使用していくつかの継承を試みています。抽象クラスと 2 つの具象クラスがあり、それぞれが基本クラスを継承しています。

@CsvRecord(separator=";",generateHeaderColumns=true,skipFirstLine=true)
public abstract class AbstractBaseFormat {
    @DataField(columnName="FIELD1",pos=1)
    protected String field1;

    @DataField(columnName="FIELD2",pos=2)
    protected String field2;

    //  getter/setter

}

public class Format1 extends AbstractBaseFormat {
    @DataField(columnName="FIELD3",pos=3)
    private String field3;
    // getter / setter
}

public class Format2 extends AbstractBaseFormat {
    @DataField(columnName="FIELD3",pos=3)
    private Long field3;
    // getter / setter
}

ルートで具象クラスを使用すると、キャメルがエラーをスローします

java.lang.IllegalArgumentException: The separator has not been defined in the annotation @CsvRecord or not instantiated during initModel. must be specified

OK、@CsvRecord アノテーションは抽象クラスにあり、Bindy Factory によって認識されません。

しかし、この注釈を各具象クラスに付けると、Bindy が最初のフィールド (pos = 1) を見つけられなかったため、別の例外が発生します。

この種のモデルを Bindy csv Dataformat で使用できますか?

4

0 に答える 0