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