我有一个file inbound endpoint
,其中会有一个管道分隔文件。该文件的第一行是标题,其余是记录。平均而言,将有40,000条记录使文件大小接近7MB。我需要将此文件转换为XML结构(文件中的标题与XML元素不同)。
将此文件转换为XML有什么好方法?我写了一个component
,它接受input stream
,逐行读取文件,对其进行标记,创建并写入XML文件。但在这种情况下,我保持文件连接打开很长时间,我必须小心关闭文件流并移动文件进行备份。
想知道可以通过其他方式做什么?是否有人使用Data Mapper
用于类似目的?
答案 0 :(得分:1)
DataMapper的Mule文档说明" DataMapper只能使用大约75 MB的RAM解析500 MB的CSV文件"如果你设置"流媒体" DataMapper配置中的属性。管道删除计为CSV,因为您可以配置分隔符。您也可以将其设置为忽略标题行。我会选择DataMapper,如果出现问题则发布另一个问题,并且只有当所有希望都失去时才会恢复为自定义组件。