【发布时间】:2015-04-08 05:55:58
【问题描述】:
Okie...我知道 File 入站元素中的 Datamappers、Batch 和流式支持。我想知道的是在以下情况下的集成设计模式:
- 您有多个文件(csv 或 xml)要处理,例如:1 个名为 products.csv 的文件包含有关产品的所有详细信息。另一个文件 images.csv 包含 products.csv 文件中列出的每个产品的图像的 URL。另一个文件可以说 price.csv 包含每种产品价格的详细信息。
- 所有文件都使用 PK 类型相互链接,例如:产品 SKU 或产品 ID。所以 products.csv 中的每一行在 images.csv 中都有多个链接之一,在 price.csv 中具有一行。
- 您需要处理所有文件并保存在 DB 中或合并到单个 XML 或 JSON 中。我的意思是制作一个 VO 或一个实体,其中产品具有图像列表并具有价格。所有“具有”关系都可以从产品对象/实体中导航。
你们建议如何使用 Mule ESB 进行设计。我了解单个 CSV 的设计。使用批处理流,您使用流文件连接器读取文件,然后使用流数据映射器提取数据,然后将数据转换为 VO 并放入 DB。这是直截了当的。在数据库插入级别或整个设置中添加批处理提交也可以提高性能。但是当你有多个文件时该怎么办,正如我在我的场景中所说的那样?
【问题讨论】:
-
你对这三个文件的创建顺序有任何控制吗? Mule 需要多久加载一次?
-
可以管理订单。相关文件可能会放在一起,我可以选择它们的阅读顺序。频率仍有待商榷。一组中的所有文件至少需要在 2 小时左右处理一次。
标签: java mule batch-processing esb