是否可以在jdbccursoritemreader中的数据库中更新

时间:2015-03-31 09:55:35

标签: spring spring-batch

我使用Spring批处理JDBCCursorItemReader来读取表中的数据集。一旦数据被读取,spring批处理将处理块(读取器,处理器,写入器)中的每一行。现在我想更新/删除我的读者提取的那些记录,以避免由另一个相同作业的实例进行重新处理。有人可以告诉我怎样才能在读者中做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

有人指出这可能是一个糟糕的设计想法。但是,如果您确定这是您想要做的,

创建两步工作,
步骤a,提交间隔为1
 阅读记录
 使用当前作业执行ID写下更新的记录 步骤b
 读取作业执行ID为当前作业执行ID的记录  根据需要处理和更新

注释

  1. 出于评论
  2. 中所述的原因,我不推荐这种方法
  3. 提交间隔为1会严重影响您的性能,因此,如果使用此方法,则仅适用于小批量作业。