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