首页 > 解决方案 > 重试不回滚弹簧批处理异步处理器

问题描述

这个问题是这个问题延续

我们正在使用aysncProcessor 和 ayscItemWriter,在处理器中使用 5 个线程和 100 块大小,我们正在调用第 3 方 API,如果服务关闭并退出批处理,我们希望使用重试(重试限制 3)机制. 你能帮我解决以下问题吗

问题 1 -: - 如果块中的一个项目失败(例如:3 次重试)并且其他 99 个成功,批次仍然会失败,会发生什么情况?

问题 2 -: -: 目前如果 3rd 方服务关闭,我会抛出一个自定义异常,我想在 spring 批处理终止之前将块的所有项目存储在 db 中,以便我们知道哪些记录成功,哪些记录失败。目前 spring 批处理从处理器终止,并且永远不会调用 writer。

标签: javaspringspring-bootspring-batch

解决方案


推荐阅读