我使用Spring批处理JDBCCursorItemReader来读取表中的数据集 . 一旦数据被读取,spring批处理将处理块(读取器,处理器,写入器)中的每一行 . 现在我想更新/删除我的读者提取的那些记录,以避免由另一个相同作业的实例进行重新处理 . 有人可以告诉我怎样才能在读者中做到这一点?
谢谢
就像已经指出的那样,这可能是一个 bad design 的想法 . 但是,如果您确定这是您想要做的,
创造一个两步的工作,步骤a,提交间隔为1阅读记录使用当前作业执行ID写入更新的记录步骤b读取作业执行ID为当前作业执行ID的记录根据需要处理和更新
笔记
由于评论中所述的原因,我不推荐这种方法
提交间隔为1将 kill you performance wise 所以如果使用此方法应该仅适用于低容量作业 .
1 回答
就像已经指出的那样,这可能是一个 bad design 的想法 . 但是,如果您确定这是您想要做的,
创造一个两步的工作,
步骤a,提交间隔为1
阅读记录
使用当前作业执行ID写入更新的记录
步骤b
读取作业执行ID为当前作业执行ID的记录
根据需要处理和更新
笔记
由于评论中所述的原因,我不推荐这种方法
提交间隔为1将 kill you performance wise 所以如果使用此方法应该仅适用于低容量作业 .