繁体   English   中英

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

[英]Mule ESB - design a multi file processing flow when files are dependent on each other

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

  • 您有多个文件(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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM