SpringXD-文件拆分器-兔子传输速度慢,文件内容不使用新行属性

SpringXD-文件拆分器-兔子传输速度慢,文件内容不使用新行属性,spring,spring-integration,spring-xd,Spring,Spring Integration,Spring Xd,我们有一个用例,可以将10m行的文件拆分为每个10000行的小文件。我们计划使用SpringXD。我们面临以下问题: 备份输入文件 文件名必须基于输入文件名和计数器生成,如refdata-1.txt、refdata-2.txt等 文件内容不是用新行写入的,而是用“,”连接的 在单个节点中使用rabbit作为传输大约需要45分钟,而在单个节点中使用local传输大约需要4分钟 stream create--name fileTestDirExp--definition“file--outputT

我们有一个用例,可以将10m行的文件拆分为每个10000行的小文件。我们计划使用SpringXD。我们面临以下问题:

  • 备份输入文件
  • 文件名必须基于输入文件名和计数器生成,如refdata-1.txt、refdata-2.txt等
  • 文件内容不是用新行写入的,而是用“,”连接的
  • 在单个节点中使用rabbit作为传输大约需要45分钟,而在单个节点中使用local传输大约需要4分钟
  • 
    stream create--name fileTestDirExp--definition“file--outputType=text/plain--dir=/Documents--pattern=createdTest.txt--mode=lines--maxMessages=5000聚合器--aggregator--aggregation=#this.[payload]--count 10000--release='#this.size()eq 10000'| sink:file--dirExpression=''/Documents/splitter/''+new java.text.SimpleDateFormat('yyyyymmdd').format(new java.util.Date()).toString()'-nameExpression='headers[''id']+'.txt''-deploy
    

    感谢您对解决上述问题的任何帮助

    问候
    Karthik

    您正在通过rabbitmq发送每一行。考虑将<代码>文件聚合器< /代码>组成一个组合的模块,使它们位于同一个位置,只有聚集的数据在兔子上传输。 聚合器发出一个
    列表
    ;所以我不明白你怎么能把它写到文件接收器;它只接受类型为
    String
    byte[]
    File
    的有效载荷

    您将需要一个自定义转换器将列表转换为单个字符串,或者添加另一个拆分器(由文件接收器组成)并使用附加模式