2016-09-08 5 views
1

私は、AggregatorとMessageCountReleaseStrategyを使用した簡単な使用例があります。営業終了時には、 というメッセージがメッセージストアに一晩保存されています。残りのメッセージが到着した翌日、グループは解放されます。アグリゲータメッセージを手動で解放する

ここで、終わりに保存されたメッセージ(リリースされていない)を覗き込み、ユーザーが望む場合にメッセージをリリースするオプションを提供したいと考えています。

保存されているメッセージを覗く方法の指針が必要です。 このユースケースを簡単にするため、私は1つのメッセージグループのみを検討しています。

<int:aggregator input-channel="orderItem"    output-channel="orders" 
       ref="orderAggregator"     method="createOrders" 
       expire-groups-upon-completion="true" release-strategy="messageCountReleaseStrategy" 
       message-store="messageStore"   discard-channel="aggregatorDiscard" /> 

<bean id="messageCountReleaseStrategy" class="org.springframework.integration.aggregator.MessageCountReleaseStrategy"> 
    <constructor-arg index="0" value="10"/> 
</bean> 

答えて

0

keycorrelationKeyここであなたはMessageGroupStore.getGroupMetadata(key)を呼び出すことができます。

MessageGroupStore.expireMessageGroups(0)に電話をかけて、すべての部分的なグループを期限切れにすることができます。

send-partial-result-on-expiryが真の場合、部分グループは通常の出力チャネルになります(偽の場合、破棄チャネルに移動します)。

関連する問題