Невозможно динамически создавать заголовки столбцов в FlatFileItemWriter.
Я создаю пакет, который будет записывать в CSV-файл, выход процессора - MapКажется, я не могу найти другой вариант, как это сделать.TIA.
@Bean
@StepScope
public FlatFileItemWriter<Map> applicationWriter(
@Value("#{jobParameters[filPath]}") String file) {
FlatFileItemWriter<Map> writer = new FlatFileItemWriter<>();
writer.setResource(new FileSystemResource(file));
writer.setHeaderCallback(writer1 -> writer1.write("dynamic header from Map keys"));
writer.setLineAggregator(new DelimitedLineAggregator<Map>() {{
setDelimiter(",");
setFieldExtractor(new BeanWrapperFieldExtractor<GenericFormEntity>() {{
setNames(new String[]{"",""}); // <-- this should contain map keys
}});
}});
return writer;
}