【发布时间】:2018-06-19 18:48:57
【问题描述】:
我正在从 Oracle 读取数据并写入 CSV 文件。我有一个读取和写入 CSV 文件的步骤。我实现了一个 ChunkListener,所以我知道写入了多少条记录。
我希望能够编写一个文件预告片,显示写入我的文件的记录数。我实现了 FlatFileFooterCallback,但无法弄清楚如何将数据从 StepExecution(“readCount”)获取到我的 FlatFileFooterCallback。
我想我正在努力解决如何在我的文章中访问 Job、Step 范围。
任何示例或链接都会有所帮助。我正在使用[Spring Batch / Boot],所以我都被注释了。我可以找到xml示例,所以可能这个带注释的东西更复杂。
ItemWriter<Object> databaseCsvItemWriter() {
FlatFileItemWriter<Object> csvFileWriter = new FlatFileItemWriter<>();
String exportFileHeader = "one,two,three";
StringHeaderWriter headerWriter = new StringHeaderWriter(exportFileHeader);
csvFileWriter.setHeaderCallback(headerWriter);
String exportFilePath = "/tmp/students.csv";
csvFileWriter.setResource(new FileSystemResource(exportFilePath));
LineAggregator<McsendRequest> lineAggregator = createRequestLineAggregator();
csvFileWriter.setLineAggregator(lineAggregator);
csvFileWriter.setFooterCallback(headerWriter);
return csvFileWriter;
}
【问题讨论】: