...
- DefaultAggregationCollection
- PredicateAggregationCollection
- UseLatestAggregationStrategy
Examples
Using PredicateAggregationCollection
The PredicateAggregationCollection is an extension to DefaultAggregationCollection that uses a Predicate as well to determine the completion. For instance the Predicate can test for a special header value, a number of maximum aggregated so far etc. To use this the routing is a bit more complex as we need to create our AggregationCollection object as follows:
Wiki Markup |
---|
{snippet:id=e1|lang=java|url=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/aggregator/PredicateAggregatorCollectionTest.java} |
In this sample we use the predicate that we want at most 3 exchanges aggregated by the same correlation id, this is defined as:
Code Block | ||||
---|---|---|---|---|
| ||||
header(Exchange.AGGREGATED_COUNT).isEqualTo(3)
|
Using this the aggregator will complete if we receive 3 exchanges with the same correlation id.
Using custom aggregation strategy
...