Spring批处理作业读取一个大的CV文件并读取记录,并将消息发送给第三方使用静态API。在运行Jobs时,文件中间出现了一些问题,并且放弃了作业,是否有任何方法可以在剩余位置启动作业并处理其余记录,而不是从头开始?
我需要建议。有办法避免这种现象,而不是再次处理文件吗?
答案 0 :(得分:1)
是的,您可以从失败的工作点重新开始失败的工作。这正是Spring Batch可以为您提供帮助的地方。
但是您需要预先进行一些设计:
ItemReader
/ ItemProcessor
/ ItemWriter
。如果您有大量步骤,则需要编写自己的可重新启动逻辑。Primary key
的一种。这样一来,您就可以使用相同的参数开始作业-将重新启动作业,然后从上一个失败的步骤开始。这里有很多要解释的内容,因此请阅读官方文档: https://docs.spring.io/spring-batch/trunk/reference/html/configureJob.html#restartability