Spring Batch FlatFileItemWriter留下空文件

时间:2011-02-15 12:33:14

标签: spring spring-batch

我有以下代码:

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

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

1 个答案:

答案 0 :(得分:0)

尝试使用overtimeItemWriter.close();并查看文件是否在磁盘上刷新。您还需要验证是否正在进行推迟撰写的交易。