我想了解分块读取数据的底层机制。我实际上想手动复制该代码。 我们从中读取的数据库不支持 SQL 查询,该查询有办法限制读取的记录数。因此,我试图看看是否可以以某种方式将读取限制为特定大小(就像 Spring Batch 如何将一次读取限制为特定 block 大小一样)。
谢谢!
最佳答案
Spring Batch 调用读取器,直到达到配置的 block 大小或数据源耗尽(即读取器返回 null
)。更具体地说,是 ChunkProvider
调用读取器提供一个项目 block 并将其交给 ChunkProcessor
。您可以在ChunkOrientedTasklet中找到相关部分的代码类。
block 处理通过chunkOrientedProcessing中的伪代码示例进行解释。部分。
关于java - Spring Batch如何分块读取?它维护光标吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547706/