Spring批处理如何让编写器知道它接收到了通过流运行的最后一个实体



我有一个读卡器->处理器->写入器的流程

每5000万条记录,写入者就会将数据写入一个文件并压缩。

问题是,一旦阅读器完成,Writer仍然"保留"许多未写入的记录,因为它没有达到50M记录的阈值。

关于如何将数据写入多个文件(每个文件有50M条记录(和一个具有重命名记录的文件,有什么建议吗?

如果您使用MulitResoureceItemWriter,您可以使用区块大小来决定它应该如何工作。它可以被配置为在您的特定阈值下写入,如果最终块中有剩余部分,也会被写入。您可以在此处的文档中阅读有关这位有用的代表的更多信息:https://docs.spring.io/spring-batch/trunk/apidocs/org/springframework/batch/item/file/MultiResourceItemWriter.html

最新更新