我目前正在使用批处理器,我们目前面临的问题是,当批处理器正在阅读文件时,它可能会在读取文件的过程中意外重启,这将使整个流程无法工作,因为当BP恢复读取文件时,它可能正在读取已经保存在数据库中的文件,并导致重复键异常。因此,我被告知要实现这样的解决方案:当BP遇到重复键异常时,它应该从下到上读取文件,当它再次遇到重复键异常时,它应该移动到下一个文件。我正在寻找有关如何实施/编码此解决方案的建议/指导?
pzfprimi1#
一个正确配置的SpringBatch作业(持久作业存储库+面向块的步骤)将允许您重新启动这类失败的作业,而不会出现任何问题。实际上,读取计数将保存在数据库中,并在重新启动方案中使用。在区块失败的情况下,不会向数据库写入任何数据(事务将回滚)。因此,在重新启动时,作业将从上一个保存点恢复阅读并保存新数据。
1条答案
按热度按时间pzfprimi1#
一个正确配置的SpringBatch作业(持久作业存储库+面向块的步骤)将允许您重新启动这类失败的作业,而不会出现任何问题。
实际上,读取计数将保存在数据库中,并在重新启动方案中使用。在区块失败的情况下,不会向数据库写入任何数据(事务将回滚)。因此,在重新启动时,作业将从上一个保存点恢复阅读并保存新数据。