首页 > 解决方案 > Spring Batch 失败更新表

问题描述

我正在使用 Spring Batch 根据从第三方 API 收到的输入来更新员工状态。任何人都可以帮助我如何更新 EMPLOYEE 表中的员工状态,如果步骤失败并出现一些异常并且整体工作状态为 FAILED 到我的表而不是 spring 批处理表?

标签: springspring-batch

解决方案


您可以分两步进行:

  • step1(tasklet):进行其余调用并将结果保存在文件中(如有必要,在作业后删除文件)
  • step2(面向块):读取员工项目并更新其在数据库中的状态

对于编写器,您可以使用JdbcBatchItemWriter配置了 sql 语句,例如:update table employee set status = ? where id = ?

根据步骤失败的问题,如果在处理块的过程中发生任何异常,事务将被回滚并且不会向数据库提交任何更新。此处的参考文档中有关此的更多详细信息。

希望这可以帮助。


推荐阅读