1

我有以下代码:

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 并从中获取正确的字符串。它还可以毫无问题地创建文件并且不会以我的方式抛出异常,但是当我查看文件时,它是空的。

有人可以告诉我我的错误在哪里吗?

4

1 回答 1

0

试试 overtimeItemWriter.close(); 并查看文件是否已刷新到磁盘上。您还需要验证是否正在进行推迟写入的事务。

于 2011-02-17T21:25:01.390 回答