我想在camel聚合器中读取多个标头。像这样的东西 - 标题(“h1”)和标题(“h2”)。这可能吗?
from(sourceQueueUrl)
.aggregate(header("h1") and header("h2") , new MyAggregationStrategy())
.completionSize(3)
.closeCorrelationKeyOnCompletion(2000)
.log("Sending out ${body}")
.aggregationRepository(repository)
.to(sinkQueueUrl);
答案 0 :(得分:0)
现在就开始工作了! header("h1").append(header("h2"))
工作正常。
答案 1 :(得分:0)
另一种解决方案是制作一个这样的简单表达式:
from(sourceQueueUrl)
.aggregate(simple("${header.h1}+${header.h2}"))
.aggregationStrategy(new MyAggregationStrategy())
.completionSize(3)
.closeCorrelationKeyOnCompletion(2000)
.log("Sending out ${body}")
.aggregationRepository(repository)
.to(sinkQueueUrl);
这相当于你的解决方案,但是我发现语法更简单,更容易理解。