繁体   English   中英

在春季批处理中使用itemProcessor跳过文件中的不良行

[英]Skipping bad rows in file with itemProcessor in spring batch

20180627;PM;ABC;0029;BYX;Technology Inc;;DUMMY;OK;33900;34.3;1162770;CT;;;;;;
;;;;;;;;;;;;;;;;;; //bad line
;;;;;;;;;;;;;;;;;;  //bad line
;;;;;;;;;;;;;;;;;;  //bad line 

有没有一种方法可以跳过MyProcessor没有数据的不良行:

public class MyProcessor implements ItemProcessor<Row, Price> {

    @Override
    public Price process(final Row row) throws Exception {

        if (row == null) {

        }

        //Values for lines in file
        Price scp = new Price();

      //set values

        return scp;
    }

}   

Row对象的值为null。 我看到了带有空行的示例,但是在这里我要处理冒号,它实际上是定界符。

我是否必须检查某些字段的有效性并阻止对象的创建和设置? 有没有更好的办法?

使用PatternMatchingCompositeLineMapper可以将有效行与无效行分开,并通过自定义FieldSetMapper将无效行映射到名为InvalidLine的对象(仅作为示例)。
在处理阶段,使用CompositeItemProcessor通过自定义ItemProcessor传递InvalidLine对象,然后执行您喜欢的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM