如果该项目 reader 或步骤不存在文件,如何跳过整个步骤

How to skip whole step if file do not exist for that item reader or step

问题:> 我的 spring 批处理作业有项目 reader 写入处理器。当我 运行 宁它时,它给我错误 Failed to initialize the reader and 还显示:> 原因:java.lang.IllegalStateException:输入资源必须存在(reader处于'strict'模式):文件

我的要求是:如果文件不存在,我希望我的项目reader不运行。

任何人都可以帮助我:如果该项目 reader 的文件不存在,我想跳过整个步骤。 我的步骤包括(项目 reader、处理器和编写器)。

如果文件不存在,请告诉我如何跳过这一步。任何帮助都将是 appreciated.And 是否可以将 reader 设置为非严格模式。

See here:可以在“chunk/step”上设置跳过条件(和限制)。

@Bean
public Step step1() {
  return this.stepBuilderFactory.get("step1")
    .<String, String>chunk(CHUNK_SIZE)
    .reader(flatFileItemReader())
    .writer(itemWriter())
    .faultTolerant()
    .skipLimit(0) // 0: dont re-try
    .skip(FlatFileParseException.class) // when you use FlatFileItemWriter,
      // but other exception (type) possible, e.g. IllegalStateException.class
    .build();
}

要在 FlatFileItemReader 中设置“非严格”模式,只需:

@Bean
public FlatFileItemReader<XY> flatFileItemReader() {

  FlatFileItemReader<XY> reader = new FlatFileItemReader<>();
  //!
  reader.setStrict(false);
  // reader.setXYZ ...
  return reader;
}