11.5 Configuring an Aggregator with Annotations
An aggregator configured using annotations can look like
this.
public class Waiter {
...
@Aggregator
public Delivery aggregatingMethod(List<OrderItem> items) {
...
}
@CompletionStrategy
public boolean completionChecker(List<Message<?>> messages) {
...
}
@CorrelationStrategy
public String correlateBy(OrderItem item) {
...
}
}
| An annotation indicating that this method shall be used as an
aggregator. Must be specified if this class will be used as an
aggregator. |
| An annotation indicating that this method shall be
used as the completion strategy of an aggregator. If not present on
any method, the aggregator will use the
SequenceSizeCompletionStrategy. |
| An annotation indicating that this method shall be
used as the correlation strategy of an aggregator. If no correlation
strategy is indicated, the aggregator will use the
HeaderAttributeCorrelationStrategy based on CORRELATION_ID. |
All of the configuration options provided by the xml element are also
available for the @Aggregator annotation.
The aggregator can be either referenced explicitly from XML or, if
the @MessageEndpoint is defined on the class, detected automatically
through classpath scanning.