У меня есть следующая конфигурация FlatFileItemReader для моего шага:
@Bean
@StepScope
public FlatFileItemReader<RawInput> reader(FieldSetMapper<RawInput> fieldSetMapper, @Value("#{jobParameters['files.location']}") Resource resource) {
var reader = new FlatFileItemReader<RawInput>();
reader.setName("my-reader");
reader.setResource(resource);
var mapper = new DefaultLineMapper<RawInput>();
mapper.setLineTokenizer(crmCsvLineTokenizer());
mapper.setFieldSetMapper(fieldSetMapper);
mapper.afterPropertiesSet();
reader.setLineMapper(mapper);
return reader;
}
RawInput содержит 1 поле, поэтому оно позволяет мне читать csv с одним столбцом. На данный момент требования были изменены, и теперь я должен иметь возможность читать любой CSV-файл с любым количеством строк, поэтому вместо RawInput мне нужно как-то передавать массив. это возможно с FlatFileItemReader или, может быть, я должен изменить реализацию?