春季批处理:CompositeItemWriter的RollBack

时间:2019-04-08 17:23:38

标签: java spring spring-batch

我是Spring批处理的新手,目前正在使用MultiResourceItemReader读取多个文件,然后使用CompositeItemWriter将其写入数据库的不同表中,每个文件包含不同行数。 我的问题:是否有可能在数据库中没有插入一行来对该文件所有插入的行进行ROLLBACK? 有办法进行回滚吗?

1 个答案:

答案 0 :(得分:1)

Spring批处理以块的形式读取和写入数据。假设您有1000条记录,块大小为100,并且正在执行批量插入。春季批处理中的每个块(100个项目)将打开一个事务,插入100条记录并提交该事务。万一发生任何错误,该特定块(100个记录)将被回滚。但是所有先前插入的块都无法回滚。