首页 > 解决方案 > 如果阅读器没有返回任何项目,Spring 的 MultiResourceItemWriter 不会调用页眉和页脚回调

问题描述

我有一份从数据库读取并创建输出文件的工作。我正在使用 MultiResourceItemWriter,因此如果文件中的记录数超过某个阈值,则翻转文件。即使阅读器没有获取数据,我也需要生成带有(页眉和页脚)的空文件。

即使委托的 FlatFileItemWriterBuilder 正在侦听页眉和页脚回调,如果读取器未获取任何数据,作业也不会创建文件。

谢谢

标签: springspring-batchbatch-processing

解决方案


这就是编写器的设计方式,如其 Javadoc 中所述:

Note that new resources are created only at chunk boundaries

这意味着如果阅读器没有返回任何项目,则不会创建输出资源。如果您想自定义此行为,您可以扩展该编写器或根据您的需要创建一个自定义的。


推荐阅读