Spring Batch通过阅读器返回文件对象列表

时间:2019-06-04 07:17:19

标签: spring-batch

我在Spring Batch中有一个简单的要求,如下所示:

1)通过 Reader从文件系统中读取文件列表    读者应返回列表,其中 File 对象,并且不包含文件内容

3)将单个项目作为File 对象

传递给处理器

在网上搜索后,我发现了很多实现,但是它们是 返回文件的内容 FlatFileItemReader ),而不返回File Object

我正计划采用以下实现:

此实现看起来不错吗?

需要从NULL返回Reader,因为reader's read method将被循环调用,直到Reader returns NULL

处理器必须在处理完成后从文件系统中删除文件 这样从NULL返回Reader应该可以工作

 public class Reader implements ItemReader<List<File>>{


    @Override
    public List<File> read() throws Exception {

       List<File> fileList = // read from file system 

       if(fileList != null && !fileList.isEmpty()){
            return fileList;
       }else{

            return null; 
       }

    }


public class Processor implements ItemProcessor<File,File>
{
    public File process(File inputFile) throws Exception
    {

        // process the file 

        //delete the file in the end  


    }
}

0 个答案:

没有答案