我有一个文件写入数据库后做一些验证。该文件将包含Header和Trailer,需要进行验证,然后跳过,如果满足验证,则应将两者之间的所有行映射并加载到db中。我可以使用项目读取器和写入器来做到这一点吗?下面是一个示例文件数据,它有一个标题行,一个尾行,在它们之间的行与实际数据加载到db。如有任何帮助,不胜感激。
头| xxxxx | 20190405 t143025zlinedata | linedata | linedata | linedata | | | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata | linedata
拖车| 20190405 t143025z | 1>
p。s:我是IIB开发人员,这是我第一次使用spring批处理。您可以将需求分为两步:
- 步骤1:执行验证逻辑的简单微线程(查找头/尾记录并验证它们)。这一步的成功是下一步的先决条件。
- 第2步:一个面向块的微线程,只有在第1步成功时才触发,它跳过带有
FlatFileItemReader.setLinesToSkip(1)
的头,跳过带有过滤从TRAILER
开始的记录的处理器的尾。