无法使用带有isOrdered属性的apache bindy生成csv

时间:2018-05-29 05:04:21

标签: java csv apache-camel spring-camel

这是我的模特:

@CsvRecord(separator=",",generateHeaderColumns=true,isOrdered=true)
public class TestModel implements Serializable{
    @DataField(pos=1,position=2)
    String value1;
    @DataField(pos=2,position=1)
    String value2;
    //Getters and Setters

    //Constructor    
}

Bean Processor代码:

 public class TestProcessor {
    public List<TestModel> process(){
     List<TestModel> list=new ArrayList<>();
     list.add(new TestModel("Value1","Value2"));
     list.add(new TestModel("Value3","Value4");
     return list;
    }
 }

RouteBuilder代码:

public class TestRouteBuilder extends RouteBuilder{
    @Override
    public void configure(){
    BindyCsvDataFormat bindy=new BindyCsvDataFormat(com.example.TestModel.class);
    from("timer:ping?period=1m").to("bean:testProcessor?method=process").marshal(bindy).to("file://C://CSV//messages?fileName=Test.csv");
    }
}

如果省略isOrdered = true属性,则会生成csv文件。

但我想重新排序生成的csv中的列,如果模型中包含isOrdered属性,则根本不会生成csv文件。

非常感谢您的帮助。

感谢。

0 个答案:

没有答案