私は非常にシンプルな使い方をしています。私はこのスティリングのコレクションをまとめて、このためにアグリゲーターEIPを使用しようとしています。しかし、それはそれはアグリゲータ戦略を見つけることができない文句を言いルート起動しようとすると:以下Apache Camelアグリゲーターの使い方
java.lang.IllegalArgumentException: AggregationStrategy or AggregationStrategyRef must be set on Aggregate
すると、私は問題を再現する方法です。もちろん
import org.apache.camel.RoutesBuilder;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
public class AggregatorTest extends CamelTestSupport {
private static final List<String> LIST = Arrays.asList(new String[] {"one", "two", "three"});
@Override
protected RoutesBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:start")
.split().body()
.setHeader("cheese", constant("camembert"))
.aggregate(constant("all"))
.to("mock:end");
}
};
}
@Test
public void shouldAggregateStrings() throws Exception {
sendBody("direct:start", LIST);
}
}
この考えを修正するために非常に簡単な方法集約戦略の実装を作成し、それを使用するように自分のルートを構成することです。しかし、私はなぜ方法が今設定されていない動作しない理由を理解したいと思います。キャメルはちょうど 私はまたDefaultAggregationCollectionに気づい
与えられた相関式の最新の受信交換を続けるDefaultAggregationCollectionと UseLatestAggregationStrategyので、この単純な例を使用してデフォルトで
:hereのラクダの資料によると、もはやラクダのコアの一部ではありません。だから私はここで何が欠けているのですか?