Можно ли получить все данные в CSV-файле в пакете пошаговой пружины (версия 4.0.1)? - PullRequest
0 голосов
/ 16 января 2020

У меня есть подпружиненная партия, которая читает каждую строку за раз в шаге следующим образом:

@Bean("step2")
public Step fileEmployeeDetailsValidationStep() {
    LOGGER.debug("In fileBuyerDetailsValidationStep:  details Validation.");
    StepBuilder stepBuilder = stepBuilderFactory.get(Flow.STEP2.toString());
    SimpleStepBuilder<EmployeeDetailsDto, ImportErrorWrapperList> simpleStepBuilder = stepBuilder.<EmployeeDetailsDto, ImportErrorWrapperList>chunk(20000);
    simpleStepBuilder.reader(csvItemReader.csvFileEmployeeFileItemReader(null));
    simpleStepBuilder.processor(employeeDetailsValidatorProcessor());
    simpleStepBuilder.writer(detailErrorWriter());
    simpleStepBuilder.allowStartIfComplete(true);
    return simpleStepBuilder.build();
}

Файл содержит Работодателя и список записей (Сотрудников) следующим образом:

Идентификатор работодателя, имя, фамилия Идентификатор работника, имя, фамилия

Вместо того, чтобы читать каждую строку за раз, возможно ли получить все записи информации о сотруднике одновременно на шаге 2?

В основном причина, по которой мне нужен список, состоит в том, чтобы создать список сотрудников и передать его веб-службе на этом этапе.

Заранее спасибо

1 Ответ

0 голосов
/ 17 января 2020

Вы можете использовать Tasklet и иметь в нем компонент чтения предметов

@Bean
  protected Step readLines() {
        return steps
          .get("readLines")
          .tasklet(linesReader())
          .build();
    }

и

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