我正在寻找用于处理用户上传的 CSV 文件的 Spring Batch (2.1.9)。我需要支持的流程包括许多文件格式的两个主要作业模板。
- 验证上传的文件,包括:
- 解析和验证每条记录的所有提供字段的格式(使用正则表达式)
- 映射对象的业务验证
- 生成详细报告,提供总记录数、无效记录数和错误详细信息(行号和其中发现的所有错误)
只有没有错误的文件才能在上传它的用户触发的第二个作业中得到完全处理:
- 处理文件:
- 解析文件
- 将记录存储到数据库(使用服务调用)
- 提交上传文件中的所有记录,如果有错误则回滚
- 提供有关处理的反馈(成功或失败)
我查看了各种示例,但找不到以下好的示例:
- 为 ItemReader 中的字段定义正则表达式
- 收集错误并生成文件处理报告。
- 提交或回滚整个作业(无提交间隔)
- 使用单个作业定义并在运行时传递(参考?)到 CSV 字段、正则表达式、业务验证服务和处理服务(基于文件类型)
我将不胜感激任何指向解决这些问题的示例代码