Java Config中的expire-groups-on-timeout等价物是什么?

时间:2015-05-06 01:46:16

标签: spring spring-integration

根据expire-groups-on-timeout的文档: "当一个组由于超时(或MessageGroupStoreReaper)而完成时,默认情况下该组已过期(完全删除)。迟到的消息将启动一个新组。将此值设置为false以完成组但保留其元数据,以便丢弃迟到的消息。稍后可以使用MessageGroupStoreReaper和empty-group-min-timeout属性将空组过期。默认值:' true'。"

如何使用Java Config实现这一目标?基本上在一个组超时之后,我希望丢弃迟到的消息,并且一旦所有消息到达就使该组到期,这样它就不会产生内存泄漏。对于后面的部分,我想让MessageGroupStoreReaper可以工作。

1 个答案:

答案 0 :(得分:0)

通常,带连字符的属性会转换为camelCase,所以

ab-cd-ef

通常是属性

abCdEf

但是,参考手册中有一个拼写错误,它expire-groups-upon-timeout而不是expire-groups-on-timeout

所以,你需要setExpireGroupsUponTimeout()

  

我希望丢弃迟到的消息,并且一旦所有消息都到达,该组将过期,这样就不会产生内存泄漏。

expireGroupsUponCompletion将删除整个组的元数据。要在超时后丢弃延迟消息,但在以后的某个时间清理,您需要在setMinimumTimeoutForEmptyGroups()中设置收割机和适当的设置。