我想在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
添加为可跳过的异常,因为当然可能会出现我不想忽略它的情况。
这里可以做些什么?