如何使用基于Chunk的处理处理Spring批处理中的项目列表|批量处理Chunk中的项目



我正在尝试实现一个Spring批处理作业,在该作业中,为了处理一条记录,它需要2-3个db调用,这会减慢记录的处理速度(大小为100万(。如果我使用基于块的处理,它会单独处理每条记录,并且性能会很慢。因此,我需要一次性处理1000条记录作为批量处理,这将减少数据库调用,并提高性能。但我的问题是,如果我实现Tasklet,那么我也将失去可重启性和重试/跳过功能,如果使用AggregateInputReader实现,我不确定会对可重启性及事务处理产生什么影响。根据以下线程,AggregateReader应该可以工作,但不确定它对事务处理的影响,以及在失败时的可重启性:

春季批次:一次处理多条记录

面向块的处理模型中的第一个扩展点是ItemWriteListener#beforeWrite(List items),它允许您访问要写入的项目列表。因此,如果您不想在ItemProcessor中一次富集一个项目,可以使用该侦听器一次对整个块进行富集。

相关内容

  • 没有找到相关文章

最新更新