在处理其父项之前,设置依赖于其他尚未处理的记录的记录

时间:2017-01-06 12:33:44

标签: spring spring-batch

我有一个弹簧批量集成,用于导入应用程序中的员工。员工可以向其他员工报告。如果员工的报告不存在,则会抛出验证错误,该错误由SkipListener捕获。

但是,导入文件非常大,我们无法选择其记录的顺序,因此员工可以引用尚未导入的父级。

如何临时保存未通过前面提到的验证进行重新处理的记录(尝试再次导入它们)?

我需要这样,以便我可以为报告验证失败的记录重新运行该过程,直到他们的父母已被导入。

1 个答案:

答案 0 :(得分:1)

在春季批次中有重试支持,但我不认为有延迟重试,就像我认为你在寻找。您可以将数据作为初始步骤加载到临时表中。然后有另一个验证步骤,从暂存中读取,找到任何参与不存在的员工的分阶段员工,并在分段中标记它们。第三步可以加载所有有效的员工。