因此,我正在创建一个 Spring Batch 作业来读取 CSV 文件以及包含不完整数据的某些行;它检查该行不完整,并将其输出到日志,然后跳过。它工作得很好,除了在工作结束时我希望它记录它发现的不完整的行数。只是一些简单的事情,比如“发现 X 个不完整的行”。
我用谷歌搜索并寻找解决方案,但没有找到任何真正的东西。
如有任何帮助,我们将不胜感激,如果需要更多信息,请询问。
Spring Batch 本身会跟踪它读取、写入、处理的记录数量以及跳过的记录数量(对于每个数字)。该信息存储在StepExecution. The StepExecution
可以从StepExecutionListener。在这种情况下,实施afterStep
方法就足够了。
public class SkippedItemStepExecutionListener extends StepExecutionListenerSupport {
@Override
public ExitStatus afterStep(StepExecution stepExecution) {
int skipped = stepExecution.getSkipCount(); // Total for read+write+process
// Log it to somewhere.
return null;
}
}
如何将其添加到您的工作/步骤中进行了说明参考指南
Links
- 步骤执行javadoc
- 步骤执行监听器javadoc
- 监听器配置参考
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)