如何重新启动失败的Spring Batch CSV插入mysql?

时间:2019-03-18 17:33:02

标签: spring-boot spring-batch

我有一个用于将csv文件处理到mysql中的简单项目。我的问题是,处理失败插入的智能方法是什么。 例如,在一个100行的文件中,我插入了10行,然后vm崩溃,当我重新启动应用程序时,它将再次插入所有行,但是我想从11开始。我正在分块处理文件。

致谢

1 个答案:

答案 0 :(得分:1)

假设您正在遵循与https://spring.io/guides/gs/batch-processing/类似的Spring Batch项目,则可以遵循作业 restartability 的各种规则。 Spring Batch将跟踪您的工作进度(例如,已提交多少个块),因此,如果发生故障,您可以从上次停止的地方恢复。

更多细节,Spring Batch Meta-data Tables跟踪您的工作细节,包括每个步骤中的 commit_count 。这些详细信息在完成后会保留在数据库中,因此即使在灾难恢复后重新启动,有关您的作业的数据也将可用。