Spring Batch для чтения нескольких файлов CSV и XLS - PullRequest
0 голосов
/ 23 апреля 2020

Мне нужно создать весеннее пакетное задание, которое будет считывать файлы из сетевого расположения, и эти файлы могут иметь формат csv или xls / xlsx.

Поскольку формат файла отличается, я использовал flatfileItemReader и PoiItemReader, предоставляемые spring-batch-excel.

После чтения этих файлов мне нужно обновить таблицы БД.

Я не могу решить, как мне подходить к этой логике c, где в зависимости от формата файла необходимо вызывать другое устройство чтения.

Сначала я подумал, что создам шаг, который прочитает файл из этого места, а затем реализует JobExecutionDecider, который проверит расширение файла и вызовет соответствующий fileReader. Тем не менее, я не могу понять, как я получу ответ на шаг, то есть файл объекта

public class FileReaderDecider implements JobExecutionDecider {
    @Override
    public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) {
        return null;
    }
}

Я не уверен, думаю ли я в правильном направлении. Будем весьма благодарны за любые предложения по выбору ридера на основе формата файла.

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