Spring integration 手动释放聚合器消息
我有一个简单的用例,其中我使用了聚合器和MessageCountReleaseStrategy。在业务结束时,有一些消息 隔夜存储在消息存储中。剩余消息到达后的第二天,该组将被释放 现在,我想添加在一天结束时查看存储(未发布)的消息的功能,并提供一个选项,如果用户愿意,可以发布消息 需要关于如何查看存储的消息的指针。 为了简化这个用例,我只考虑一个消息组Spring integration 手动释放聚合器消息,spring-integration,Spring Integration,我有一个简单的用例,其中我使用了聚合器和MessageCountReleaseStrategy。在业务结束时,有一些消息 隔夜存储在消息存储中。剩余消息到达后的第二天,该组将被释放 现在,我想添加在一天结束时查看存储(未发布)的消息的功能,并提供一个选项,如果用户愿意,可以发布消息 需要关于如何查看存储的消息的指针。 为了简化这个用例,我只考虑一个消息组 <int:aggregator input-channel="orderItem" output-channe
<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>
您可以调用
MessageGroupStore.getGroupMetadata(key)
其中key
是correlationKey
您可以调用
MessageGroupStore.expireMessageGroups(0)
使所有部分组过期
如果send partial result on expiration
为真,则部分组将转到正常输出通道,如果为假,则转到丢弃通道