【发布时间】:2016-12-12 00:59:02
【问题描述】:
我使用 FlatFileItemReader 创建了一个 spring 批处理作业,它从分隔文件中读取数据,然后使用 JdbcBatchItemWriter 写入 DB。我的 setp 配置如下。
<batch:step id="step1">
<batch:tasklet>
<batch:chunk reader="fileReader"
writer="dbWriter" commit-interval="100">
</batch:chunk>
</batch:tasklet>
</batch:step>
上面的配置是为每 100 行打开单独的事务,所以如果在 tasklet(step-1) 完成之前发生故障,那么我无法恢复以前提交的行。有没有办法在单个事务中运行整个 tasklet?。
P.S:我使用 MapJobRepositoryFactoryBean 作为作业存储库,不想在数据库中创建元表以重新启动。
【问题讨论】:
标签: spring-batch