Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Spring batch Spring批处理多个文件的作业,但一次只处理一个文件_Spring Batch - Fatal编程技术网

Spring batch Spring批处理多个文件的作业,但一次只处理一个文件

Spring batch Spring批处理多个文件的作业,但一次只处理一个文件,spring-batch,Spring Batch,我有一个spring批处理作业,我需要从一个文件夹中读取多个文本文件。 要求如下:- 我需要读取一个文件,如果有超过300行的条目,那么我需要将块大小设置为300,并在数据库中写入相同的内容。 如果小于300,则需要将块大小设置为代码行数并写入数据库。 然后我需要读取下一个文件并写入数据库,直到文件夹中的所有文件都被使用。这是分区步骤的完美用例。一般来说,您需要让分区器识别要处理的文件。它将派生创建子步骤,每个子步骤将处理一个子步骤。对于这些子步骤,您可以将块大小设置为300(框架将在到达文件末

我有一个spring批处理作业,我需要从一个文件夹中读取多个文本文件。 要求如下:- 我需要读取一个文件,如果有超过300行的条目,那么我需要将块大小设置为300,并在数据库中写入相同的内容。 如果小于300,则需要将块大小设置为代码行数并写入数据库。
然后我需要读取下一个文件并写入数据库,直到文件夹中的所有文件都被使用。

这是分区步骤的完美用例。一般来说,您需要让
分区器
识别要处理的文件。它将派生创建子步骤,每个子步骤将处理一个子步骤。对于这些子步骤,您可以将块大小设置为300(框架将在到达文件末尾或300的任意倍数时自动提交)

您还需要为子步骤设置任务执行器。在您的情况下,因为您一次只想处理一个文件,所以
SyncTaskExecutor
非常适合

有关更多信息,请参阅或