gpt4 book ai didi

java - 如何使用 MultiResourceItemReader 读取多个文件?

转载 作者:行者123 更新时间:2023-11-29 04:53:15 24 4
gpt4 key购买 nike

我有一个包含大约 100 万个文件的 tar.gz 存档。我想使用 spring-batch 中的 MultiResourceItemReader 来读取这些文件。

问题:MultiResourceItemReader 需要在初始化时设置资源。但我不想在导入开始之前初始化所有 1mio 文件。相反,我想让 MultiResourceItemReader 按文件读取存档文件,并通过批量导入传递每个文件,而不是在启动时分配所有文件。

我怎样才能做到这一点?

最佳答案

我认为您必须编写自己的 CompressedFileMultiResourceItemReader 充当 MultiResourceItemReader 但接受:

  1. 单个压缩文件
  2. 匹配路径列表

CompressedFileMultiResourceItemReader 应遍历压缩文件条目,匹配路径,并且 - 如果找到匹配项 - 创建 VfsResource (或适用于 VFS 条目的自定义 AbstractResource)并将其传递给委托(delegate)以执行实际读取。
当然你自己的读者一定关心它的状态

  • 当前条目
  • 当前委托(delegate)状态
  • 其他国家属性(property)

允许重新启动。
这只是一个想法;我没有时间让它具体化,因为目前我没有空闲时间来做这个:(

关于java - 如何使用 MultiResourceItemReader 读取多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34652855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com