我有以下代码:
File overitimeFile = new File(filePath+overtimeFileName);
FlatFileItemWriter<OvertimeSAPExport> overtimeItemWriter =
new FlatFileItemWriter<OvertimeSAPExport>();
overtimeItemWriter.setResource(new FileSystemResource(overitimeFile));
overtimeItemWriter.setShouldDeleteIfExists(true);
PassThroughLineAggregator<OvertimeSAPExport> lineAggregator =
new PassThroughLineAggregator<OvertimeSAPExport>();
overtimeItemWriter.setLineAggregator(lineAggregator);
overtimeItemWriter.open(new ExecutionContext());
List<OvertimeSAPExport> overtimeList = overtimeDAO.getSapOvertimeData(locationId, month);
overtimeItemWriter.write(overtimeList);
我已经为OvertimeSAPExport实现了toString方法,当我调试时,我可以看到它为列表中的每个记录输入一次toString,并从中获取正确的字符串。 它也可以毫无问题地创建文件,并且不会出现异常,但是当我查看文件时,它是空的。
有人可以告诉我我的错误在哪里吗?
答案 0 :(得分:0)
尝试使用overtimeItemWriter.close();并查看文件是否在磁盘上刷新。您还需要验证是否正在进行推迟撰写的交易。