Как динамически писать заголовок в FlatFileItemWriter - PullRequest
0 голосов
/ 07 июня 2019

Невозможно динамически создавать заголовки столбцов в 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;

}

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