2017-06-29 66 views
1

我正在調查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.xmlSpring集成示例:: 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); 
    } 

} 

服務員類沒有指定任何關係/發佈策略。這些項目是如何彙總/發佈的?根據該IntegrationMessageHeaderAccessor.SEQUENCE_NUMBERIntegrationMessageHeaderAccessor.SEQUENCE_SIZEHeaderAttributeCorrelationStrategyIntegrationMessageHeaderAccessor.CORRELATION_ID頭和SequenceSizeReleaseStrategy -

回答

2

當你不指定correlation-strategyrelease-strategy,默認使用。

這正是<splitter>產生的默認applySequence

所有的信息都在Reference Manual