2017-06-29 2 views
1

Ich untersuche das Aggregator-Sample in Spring-Projekten/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.xmlSpring Integration Sample :: Aggregator

<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); 
    } 

} 

Die Kellner Klasse angeben keine Korrelation/Release-Strategie. Wie werden die Artikel aggregiert/freigegeben?

Antwort

2

Wenn Sie nicht angeben correlation-strategy und release-strategy sind die standardmäßig verwendet - HeaderAttributeCorrelationStrategy für die IntegrationMessageHeaderAccessor.CORRELATION_ID Header und SequenceSizeReleaseStrategy basierend auf der IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER und IntegrationMessageHeaderAccessor.SEQUENCE_SIZE.

Das ist genau das, was <splitter> mit seinem Standard applySequence produziert.

Alle Informationen sind genau in der Reference Manual.