<recipient-list>カスタム アグリゲータを使用して複数の結果を結合するインバウンド HTTP エンドポイントにリクエストを送信しようとしています。カスタム アグリゲーターの結果を "待機" させるには、どうすれば受信 HTTP エンドポイントを取得できますか?
これが私のサンプルフローです。アグリゲーターは完璧に機能します。ただし、 は非同期であるため、インバウンドの http エンドポイントはすぐに返されます。私が本当にやりたいことは、Custom Aggregator からの結果を http エンドポイントへの応答として返すことです。シンプルなものが欠けているような気がします。
<flow name="AggregationExample">
    <http:inbound-endpoint
        exchange-pattern="request-response"
        host="localhost"
        port="8082"
        path="test/aggregate"
        />  
    <recipient-list evaluator="groovy" expression="['vm://source1','vm://source2']"></recipient-list>
        <!-- How do I wait for result of custom aggregator? -->
</flow>
<flow name="SourceAggregation">
    <vm:inbound-endpoint path="sourceresult" />
    <custom-aggregator failOnTimeout="true" class="com.example.MySourceAggregator"/>
    <logger message="RESULTS: #[payload]"/>
</flow>
<flow name="Source1">
    <vm:inbound-endpoint path="source1" />
    <set-payload value="#[groovy:Thread.currentThread().getContextClassLoader().getResourceAsStream('example-source1.json').text]"/>
    <vm:outbound-endpoint path="sourceresult" />
</flow>
<flow name="Source2">
    <vm:inbound-endpoint path="source2" />
    <set-payload value="#[groovy:Thread.currentThread().getContextClassLoader().getResourceAsStream('example-source2.json').text]"/>
    <vm:outbound-endpoint path="sourceresult" />
</flow>