SpringBatch-如何将文件本身作为一个项目进行处理?

SpringBatch- How to process files itself as a Item?

我是 spring 批量开发的新手。我有以下要求。 将有一个带有 zip 文件的 s3 源,每个 zip 文件将包含多个 pdf 文件和 xml 个文件。[例如:100 个 pdf 和 100 个 xml 个文件](xml 个文件将包含有关pdf的数据) Batch 需要读取 pdf 文件及其关联的 xml 文件并将它们推送到 rest service/db.

当我查看示例时,大部分内容都涵盖了如何从文件中读取一行并对其进行处理。在这里,我将项目本身作为文件。我想读取一个 pdf 文件(以字节为单位)+ xml 文件(转换为 pojo)作为设置并将其一个一个地推送到休息服务。

现在,我正在单个 tasklet 中进行所有读取和处理。但我相信会有更好的解决方案来实施它。求推荐,谢谢。

面向块的处理模型要求您首先定义项目是什么。在您的情况下,一种选择是将项目视为 PDF 文件(数据)及其关联的 XML 文件(元数据)。您可以创建一个代表此类项目的 class 和一个自定义项目 reader。一旦到位,您可以在面向块的步骤中使用 reader,并使用处理器或编写器将数据发送到您的 REST 端点。