0

我有一个项目处理器,它获取行/记录的 FieldSet 计数,如果它等于 5,那么它通过 FlatFileItemWriter(比如 goodRecords.csv)将记录写入文件。但我也想将不等于 5 的记录写入另一个文件(比如 badRecords.csv)。是否可以使用一个 ItemProcessor 来完成这项任务?

这是我的 ItemProcessor 代码:

    @Override
public FieldSet process(FieldSet line) throws Exception {
    // TODO Auto-generated method stub
    int x = line.getFieldCount();
    if(x==5){
        return line;
    }else{
        return null;
    }

}
4

1 回答 1

1

这不是 ItemProcessor 问题,而是 ItemWriter 问题(ItemProcessor 用于更新和过滤)。查看 ClassifierCompositeItemWriter。它将允许您注入一个分类器,该分类器返回要写入的相应 ItemWriter。您可以在这里阅读更多信息:http: //docs.spring.io/spring-batch/apidocs/org/springframework/batch/item/support/ClassifierCompositeItemWriter.html

于 2013-10-02T22:24:54.407 回答