然后使用Apache Camel进行聚合

时间:2016-05-16 09:00:56

标签: scala apache-camel

汇总后,我试图拆分一组交易所。但在拆分中,组的元素为空。

我使用apache camel 2.17(camel-core,camel-ftp和camel-scala)

from("sftp://user@host/path?password=pass")
.setHeader("tag", extractTagFromFilename)
.aggregate(header("tag"), new GroupedExchangeAggregationStrategy())
.completionSize(3) // i want 3 files per group
.split(_.in)
     .process{m => println("== > " + m.in[])}
.end()
//.process{m => println("")} // btw this does not compile, why ?
.log("${body}")

==>空

==>空

==>空

为什么组中的元素为空?

1 个答案:

答案 0 :(得分:0)

要解决此问题,聚合策略必须是GroupedMessageAggregationStrategy而不是GroupedExchangeAggregationStrategy。

文档不是最新的真的很痛苦,应该提到" .groupExchanges()"已弃用,应使用GroupedMessageAggregationStrategy来获取基于列表的简单聚合。