我有一个需要实施的批处理过程。我的客户首选的批处理框架是 Spring Batch。
逻辑过程是
- 从已知状态的数据库中选择一组记录
- 将记录写入文件
- 更新已写入文件的记录状态
该过程可能会触及大量记录,并且我希望尽可能缩短更新事务,因此我的预期设计是
- 使用驱动查询模式生成候选行列表
- 迭代第 1 步的结果,将它们写入输出文件
- 开始交易
- 再次迭代第 1 步的结果,更新数据库中行的状态
- 结束交易
我打算使用现有的数据访问层来完成数据库工作,而不是使用 spring JdbcCursorItemReader。
这是 Spring Batch 可以轻松应对的事情,还是我需要再考虑一下?
提前致谢
戴夫