java - 重试不回滚弹簧批处理异步处理器
问题描述
这个问题是这个问题的延续
我们正在使用aysncProcessor 和 ayscItemWriter,在处理器中使用 5 个线程和 100 块大小,我们正在调用第 3 方 API,如果服务关闭并退出批处理,我们希望使用重试(重试限制 3)机制. 你能帮我解决以下问题吗
问题 1 -: - 如果块中的一个项目失败(例如:3 次重试)并且其他 99 个成功,批次仍然会失败,会发生什么情况?
问题 2 -: -: 目前如果 3rd 方服务关闭,我会抛出一个自定义异常,我想在 spring 批处理终止之前将块的所有项目存储在 db 中,以便我们知道哪些记录成功,哪些记录失败。目前 spring 批处理从处理器终止,并且永远不会调用 writer。
解决方案
推荐阅读
- powerbi - SUMMARIZECOLUMNS 中的动态列选择
- c++ - 当我的代码运行良好时,为什么在 SPOJ 中出现运行时(SIGABRT)错误?
- mysql - 用于更新mysql中每个重复记录的自动增量值的存储过程
- javascript - 抽屉未在本机中打开
- angular - 如何获取子组件?
- vue.js - 在引导 vue 表中使用图标
- amazon-web-services - 捕获 cloudformation 更新命令的输出响应代码
- postgresql - 如何使用约束和索引交换 postgres 数据库中的两个表?
- bash - 如何在 shell 脚本中优雅地处理内存不足
- java - 在 java 中解析 XML 时没有工作 ID 属性