Spring Batch возвращает список объектов файлов через Reader - PullRequest
0 голосов
/ 04 июня 2019

У меня есть простое требование, как показано ниже в 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  


    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...