2016-11-11 63 views
0

我正在嘗試向我的代碼添加聚合器。 我面臨的幾個問題。 1.如何僅使用註釋設置消息庫。 2.有沒有設計聚合器的作品?基本上是解釋相同的一些圖片。我如何在使用註釋的聚合器中設置mongodb消息存儲

@MessageEndpoint 
public class Aggregator { 


    @Aggregator(inputChannel = "abcCH",outputChannel = "reply",sendPartialResultsOnExpiry = "true") 
    public APayload aggregatingMethod(List<APayload> items) { 
     return items.get(0); 
    } 

    @ReleaseStrategy 
    public boolean canRelease(List<Message<?>> messages){ 

     return messages.size()>2; 
    } 

    @CorrelationStrategy 
    public String correlateBy(Message<AbcPayload> message) { 
     return (String) message.getHeaders().get(RECEIVED_MESSAGE_KEY); 
    } 


} 

回答

1

Reference Manual,我們有一張紙條:

註解配置(@Aggregator等)的收集組件只包括簡單的用例,其中大多數默認選項就足夠了。如果你需要對這些選項的更多控制使用註解的配置,可以考慮使用@Bean定義爲AggregatingMessageHandler,和紀念@Bean@ServiceActivator

及以下有點:

與4.2版開始AggregatorFactoryBean可用,以簡化AggregatingMessageHandler的Java配置。

所以,其實你應該配置AggregatorFactoryBean@Bean,並與@ServiceActivator(inputChannel = "abcCH",outputChannel = "reply")

還考慮使用Spring Integration Java DSL來簡化你的生活與Java配置。

+0

我已經添加聚合器...現在問題是通用消息沒有參數構造器...所以將消息保存到mongodb商店失敗 – Adilmo

+0

我們是否有任何映射轉換器mongodb通用消息 – Adilmo

+0

哪些可用的開箱 – Adilmo