gpt4 book ai didi

java - Mule ESB - 当文件相互依赖时设计多文件处理流程

转载 作者:行者123 更新时间:2023-12-02 04:59:48 24 4
gpt4 key购买 nike

好吧...我知道文件入站元素中的数据映射器、批处理和流支持。我想知道的是以下情况下集成的设计模式:

  • 您有多个文件(csv 或 xml)需要处理,例如:1 个名为 products.csv 的文件包含有关产品的所有详细信息。另一个文件 images.csv 包含 products.csv 文件中列出的每个产品的图像的 URL。另一个文件假设prices.csv包含每种产品的价格详细信息。
  • 所有文件都使用 PK 类型相互链接,例如:产品 SKU 或产品 ID。因此,products.csv 中的每一行在 images.csv 中都有一个或多个链接,在prices.csv 中也有一行。
  • 您需要处理所有文件并保存在数据库中或合并为单个 XML 或 JSON。我的意思是,这个想法是制作一个 VO 或一个实体,其中产品有图像列表并有价格。所有“有”关系都可以从产品对象/实体中导航。

你们建议如何使用 Mule ESB 来设计这个。我了解单个 CSV 的设计。使用批处理流,您可以使用流文件连接器读取文件,然后使用流数据映射器提取数据,然后将数据转换为 VO 并放入 DB。这很简单。在数据库插入级别或整个设置中添加批量提交也可以提高性能。但是,当您有多个文件时,正如我在我的场景中所说的那样,该怎么办?

最佳答案

这个问题已经在 StackOverflow 上被问过好几次了,但措辞不同。通常答案是让文件入站端点选择多个文件之一,然后使用请求者在流程中选择其他文件。

参见:https://github.com/mulesoft/mule-module-requester

在您的情况下,主文件将作为输入流提供,而图像和价格查找文件将加载到内存中(例如 map ),以便您在处理主流时可以快速访问它们。

关于java - Mule ESB - 当文件相互依赖时设计多文件处理流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28393755/

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