Camel PollEnrich工作不正常

时间:2013-01-29 14:01:38

标签: apache-camel

使用xslt转换文件后,我必须附加从ftp下载的文件。所以我做了以下事情:

    from("direct:adobe_productList_incremental")
            .id("routeADOBESPtransformPI_productList")
            .log(LoggingLevel.INFO, "---------Starting file: ${body}")
            .convertBodyTo(InputStream.class)
            .to("xslt:classpath:" + xsltTransformationProductList)
            .log(LoggingLevel.INFO, "---------Transformed file: ${body}")
          .pollEnrich(ftpType+"://"+ftpUsername+"@"+ ftpUrl +":" + ftpPort + ftpPath_incrementalComplete +"?password="+ftpPassword+"&fileName="+ftpFilename_incrementalComplete+"&passiveMode=true&binary=true&delete=false",10000)
            .log(LoggingLevel.INFO, "---------After poll enrich: ${body}")
            .to("file:{{file.root}}{{file.outbox.products_list_incremental}}?fileName={{file.outbox.products_list_incremental.name}}.final");

直到民意调查完成(转换正确完成),但在pollEnrich之后,当前正文被ftp内容覆盖(并没有按原样附加)。

任何帮助?

1 个答案:

答案 0 :(得分:3)

不是按设计工作。

默认情况下,内容将被覆盖。如果您需要追加/合并或其他什么,您需要使用自定义聚合策略,并实现执行此操作的代码逻辑。

有关ExampleAggregationStrategy的信息,请参阅:http://camel.apache.org/content-enricher.html的Camel文档。

Camel文档说

  

聚合策略是可选的。如果你不提供它   默认情况下,Camel只使用从资源中获取的主体。