spring - 如果阅读器没有返回任何项目,Spring 的 MultiResourceItemWriter 不会调用页眉和页脚回调
问题描述
我有一份从数据库读取并创建输出文件的工作。我正在使用 MultiResourceItemWriter,因此如果文件中的记录数超过某个阈值,则翻转文件。即使阅读器没有获取数据,我也需要生成带有(页眉和页脚)的空文件。
即使委托的 FlatFileItemWriterBuilder 正在侦听页眉和页脚回调,如果读取器未获取任何数据,作业也不会创建文件。
谢谢
解决方案
这就是编写器的设计方式,如其 Javadoc 中所述:
Note that new resources are created only at chunk boundaries
这意味着如果阅读器没有返回任何项目,则不会创建输出资源。如果您想自定义此行为,您可以扩展该编写器或根据您的需要创建一个自定义的。
推荐阅读
- c++ - 将一个向量的元素和分配给另一个向量的元素的并行算法
- javascript - 错误:StaticInjectorError(AppModule)[PaginationComponent -> PaginationConfig]
- c# - 使用自定义属性扩展现有 XSD 架构
- typescript - 与部分/特殊/全局键名的接口
- jquery - 如何在调整窗口大小时在 owl-carousel 中获得 div 高度?
- angular - 如何将输入类型的响应式表单作为包含该文件数据的文件提交?
- css - 为什么导航类名称是 navbar-default 而不是 navbar
- php - 在 $this->setCollection($collection); 之前设置记录计数
- c++ - 如何在 C++ 中生成自动 ID?
- vagrant - 带有 Vagrant 和 Hyper-V 的 Laravel Homestead