如何回滚Spring Batch中的所有步骤

She*_*dor 5 java spring spring-batch

我创建了一个将我的文件拆分成小块的作业,所有这些块都在分开的步骤中读取.对于前者 完成3个步骤没有任何错误,并且记录被提交到数据库,但如果第4步失败,我需要回滚上一步中的所有记录.有可能以某种方式回滚它们吗?

或者也许只有在最后一步正确完成后才有可能提交所有记录?(但这是大文件的问题)

Luc*_*cci 5

使用弹簧批时不要玩交易; 由于其交易性质,手动管理交易是一个非常糟糕的主意.
请参阅Spring批处理Spring批处理中的事务管理- 整个Job上的一个事务以获得进一步说明

  • 同意,Spring Batch的设计使得步骤逐步提交他们的工作.这就是为什么可以重新启动失败的作业.弄乱这个就会迫使Spring Batch做一些它不打算做的事情,如果可能的话应该避免. (3认同)