我试图在使用bindy csv Dataformat(Camel 2.13.1)时进行一些继承我有一个抽象类和两个具体类,每个类都继承基类。
前任
@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
好的,@CsvRecord 注解在抽象类上,无法被 Bindy Factory 识别。
但是如果我把这个注释放在每个具体的类上,我会得到另一个异常,因为 Bindy 没有找到第一个字段(pos = 1)。
我可以将这种模型与 Bindy csv Dataformat 一起使用吗?