java - Spring Batch如何分块读取?它维护光标吗?

标签 java database spring jakarta-ee spring-batch

我想了解分块读取数据的底层机制。我实际上想手动复制该代码。 我们从中读取的数据库不支持 SQL 查询,该查询有办法限制读取的记录数。因此,我试图看看是否可以以某种方式将读取限制为特定大小(就像 Spring Batch 如何将一次读取限制为特定 block 大小一样)。

谢谢!

最佳答案

Spring Batch 调用读取器,直到达到配置的 block 大小或数据源耗尽(即读取器返回 null)。更具体地说,是 ChunkProvider 调用读取器提供一个项目 block 并将其交给 ChunkProcessor。您可以在ChunkOrientedTasklet中找到相关部分的代码类。

block 处理通过chunkOrientedProcessing中的伪代码示例进行解释。部分。

关于java - Spring Batch如何分块读取?它维护光标吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547706/

相关文章:

Java:如何重用监听器

java - OpenJDK、Oracle JDK 和 JCP

java - 私有(private)、 protected 访问修饰符和抽象之间的区别

java - 在 Java 中收集应用程序指标(可选 .Net)

java - Spring 4 带有 Java Config,没有 xml

java - org.hibernate.internal.util.xml.XMLHelper.<init>(Lorg/hibernate/boot/registry/classloading/spi/ClassLoaderService 但它不存在

java - Spring bean constructor-arg 内部属性解析

sql - 如何更新所选数据库中所有过程中公共(public)参数的数据类型

android - 在行数据库中从末尾移动到开头

swift - 检索用于用户名签名 firebase 的用户电子邮件