Mule ESB——设计文件相互依赖时的多文件处理流程
Mule ESB - design a multi file processing flow when files are dependent on each other
Okie...我知道文件入站元素中的数据映射器、批处理和流式支持。我想知道的是在以下情况下集成的设计模式:
- 您有多个文件(csv 或 xml)要处理,例如:1 个名为 products.csv 的文件包含有关产品的所有详细信息。另一个文件 images.csv 包含指向 products.csv 文件中列出的每个产品图像的 URL。另一个文件假设 prices.csv 包含每种产品的价格详细信息。
- 所有文件都使用 PK 类型相互链接,例如:产品 SKU 或产品 ID。所以 products.csv 中的每一行在 images.csv 中都有一个链接,在 prices.csv.
中有一行
- 您需要处理所有文件并保存在数据库中或合并为单个 XML 或 JSON。我的意思是制作一个 VO 或一个实体,其中产品有图像列表并有价格。所有 'has a' 关系都可以从产品 object/entity.
导航
你们如何建议使用 Mule ESB 来设计它。我知道单个 CSV 的设计。使用批处理流,您使用流式文件连接器读取文件,然后使用流式数据映射器提取数据,然后将数据转换为 VO 并放入 DB。这是直截了当的。在数据库插入级别或整个设置中添加批量提交也可以提高性能。但是当你有多个文件时该怎么办,就像我在我的场景中所说的那样?
这个问题已经在 Whosebug 上被问过好几次了,但措辞不同。通常答案是让文件入站端点从众多文件中选择一个,然后与请求者一起选择流中的其他文件。
参见:https://github.com/mulesoft/mule-module-requester
在您的情况下,主文件将作为输入流提供,而图像和价格查找文件将加载到内存中(在 ex 的地图中),因此您可以在处理主流时快速访问它们。
Okie...我知道文件入站元素中的数据映射器、批处理和流式支持。我想知道的是在以下情况下集成的设计模式:
- 您有多个文件(csv 或 xml)要处理,例如:1 个名为 products.csv 的文件包含有关产品的所有详细信息。另一个文件 images.csv 包含指向 products.csv 文件中列出的每个产品图像的 URL。另一个文件假设 prices.csv 包含每种产品的价格详细信息。
- 所有文件都使用 PK 类型相互链接,例如:产品 SKU 或产品 ID。所以 products.csv 中的每一行在 images.csv 中都有一个链接,在 prices.csv. 中有一行
- 您需要处理所有文件并保存在数据库中或合并为单个 XML 或 JSON。我的意思是制作一个 VO 或一个实体,其中产品有图像列表并有价格。所有 'has a' 关系都可以从产品 object/entity. 导航
你们如何建议使用 Mule ESB 来设计它。我知道单个 CSV 的设计。使用批处理流,您使用流式文件连接器读取文件,然后使用流式数据映射器提取数据,然后将数据转换为 VO 并放入 DB。这是直截了当的。在数据库插入级别或整个设置中添加批量提交也可以提高性能。但是当你有多个文件时该怎么办,就像我在我的场景中所说的那样?
这个问题已经在 Whosebug 上被问过好几次了,但措辞不同。通常答案是让文件入站端点从众多文件中选择一个,然后与请求者一起选择流中的其他文件。
参见:https://github.com/mulesoft/mule-module-requester
在您的情况下,主文件将作为输入流提供,而图像和价格查找文件将加载到内存中(在 ex 的地图中),因此您可以在处理主流时快速访问它们。