Cisco Java
Cisco Java

Reputation: 233

Spring Integration Sample :: Aggregator

I am looking into the aggregator sample in spring-projects/spring-integration-samples.
https://github.com/spring-projects/spring-integration-samples/blob/master/applications/cafe/cafe-si/src/main/resources/META-INF/spring/integration/cafeDemo-xml.xml

<int:aggregator input-channel="preparedDrinks"  method="prepareDelivery" output-channel="deliveries">
    <beans:bean class="org.springframework.integration.samples.cafe.xml.Waiter"/>
</int:aggregator>


public class Waiter {

    public Delivery prepareDelivery(List<Drink> drinks) {
        return new Delivery(drinks);
    }

}

The Waiter class does not specify any correlation /release strategy. How are the items are aggregated/group released?

Upvotes: 2

Views: 2385

Answers (1)

Artem Bilan
Artem Bilan

Reputation: 121560

When you don't specify correlation-strategy and release-strategy, the default are used - HeaderAttributeCorrelationStrategy for the IntegrationMessageHeaderAccessor.CORRELATION_ID header and SequenceSizeReleaseStrategy based on the IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER and IntegrationMessageHeaderAccessor.SEQUENCE_SIZE.

That is exactly what <splitter> produces with its default applySequence.

All the info is exactly in the Reference Manual.

Upvotes: 6

Related Questions