如何在spring-batch步骤中跳过自定义FieldSetMapper?

时间:2016-05-25 12:16:13

标签: java spring batch-processing

我想在FieldSetMapper中抛出自定义异常,并在Step skip()中忽略它:

@Bean
public Step step() {
    return stepBuilder.get(name).faultTolerant().skip(MyException.class).reader(..).processor(..).writer(..).build();
}
private FieldSetMapper<TravelitHotelEntity> prepareFieldMapper() {
    return new FieldSetMapper<MyEntity>() {
        @Override
        public MyEntity mapFieldSet(FieldSet fieldSet) throws BindException {
            throw new MyException("test");
        }
    };
}

结果:作业终止说:

  

引起:org.springframework.batch.item.file.FlatFileParseException:   行解析错误:2 ...引起:MyException:...

这是因为MyException以某种方式被包裹在FlatFileParseException内,因此skip()未检测到。但我不想将FlatFileParseException添加为可跳过的异常,因为当然可能会出现我不想忽略它的情况。

这里可以做些什么?

0 个答案:

没有答案