Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
POJO和流程的spring批读取列表_Spring_Spring Batch - Fatal编程技术网

POJO和流程的spring批读取列表

POJO和流程的spring批读取列表,spring,spring-batch,Spring,Spring Batch,如何读取POJO列表,并将其传递给ItemProcessor?我正在使用DAO类获取POJO列表。如何在ItemReader中配置它,以便处理器可以使用它? 我试图使用ItemReader实现读取列表,但结果集正在不断地获取。但它只需要读一次。 提前感谢。您需要使用JdbcCursorItemReader 您可以参考您可以根据您的用例在beforeStep或beforeJob中获取列表,并在ItemReader的read()方法中使用相同的列表,如下所示 public Object read()

如何读取POJO列表,并将其传递给ItemProcessor?我正在使用DAO类获取POJO列表。如何在ItemReader中配置它,以便处理器可以使用它? 我试图使用ItemReader实现读取列表,但结果集正在不断地获取。但它只需要读一次。
提前感谢。

您需要使用JdbcCursorItemReader


您可以参考您可以根据您的用例在
beforeStep
beforeJob
中获取列表,并在
ItemReader
read()方法中使用相同的列表,如下所示

public Object read() {
    if(!processDataList.isEmpty()){
        return processDataList.remove(0);
    }
    return null;
}
成功写入后,请尝试标记读取记录的状态,以使其无法重新处理


请注意,建议使用
JdbcCursorItemReader
JdbcPagingItemReader
。在保存列表中的所有记录时,如果记录量超过此值,可能会导致内存问题。

我已经有了一个DAO来选择记录并将其转换为bean列表。我只需要在处理器中使用它们。有什么建议吗pls@KCMS:基本上,您需要使用SPring批处理中的一些ItemReader实现。正如Chaitu提到的,您可以尝试使用JdbcCursorItemReader,它将负责将POJO列表传递给处理器。请重写您的问题,因为不清楚您在问什么