2

有一个 java 进程,它触发一个长时间运行的数据库查询以从数据库中获取大量行。然后将这些行写入文件。由于各种原因,无法以块为基础处理查询。

我只是将这个过程包装在一个 Spring Batch 小任务中并开始了这项工作。

观察到普通的java进程比Spring Batch Job快4倍。我知道上述场景不适合 Spring 批处理配置,但只是想知道为什么当它被制作为 Tasklet 时该过程很慢。

[编辑] 最近我创建了另一个批处理,其中包含一个 ItemProcessor,以再次验证每个项目应在作业开始之前加载的一组数据。我创建了一个作业侦听器来初始化 Oracle DB 中的数据集。该集合包含近 20 万条记录,读取这些数据需要将近 1.5 小时。因此严重怀疑 spring batch 在从 DB 中一次读取大量数据方面有一些限制。

4

0 回答 0