我有弹簧批处理作业,执行以下步骤
- 从数据库中读取
- 处理记录并从其他系统获取相关详细信息
- 确定要更新的目标数据
- 用于多个目标的数据库的复合项目编写器(目前我有两个目标表,两个jdbc编写器(
现在的问题是,如果任何 jdbc 项目编写器由于条件不匹配或被跳过而没有更新行,则此复合项目编写器将失败。
用例是
- 要跳过的所有项目编写器 - 这是通过从处理器返回 null 对象来完成 的
- 所有条目编写器更新 - 没问题 有些
- 作家需要更新,有些需要跳过 - 需要帮助来解决这个问题。
将每个块包装在事务中的想法是能够将整个项目块作为一个单元进行处理:要么提交所有项目,要么不提交任何项目(全部或没有语义(。
有些作家需要更新,有些需要跳过 - 需要帮助来解决这个问题。
如果需要这样的细粒度控制,则需要创建自定义编写器。