From 49deccdbcf45d5784a0cb77c4ffd25729bbc1f7d Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Mon, 19 Sep 2011 15:58:12 -0400 Subject: [PATCH] INT-2013 added documentation Added documentation explaining how the 'timeout' property of teh MessageGroupStoreReaper can be impacted by teh task scheduler rate --- docs/src/reference/docbook/aggregator.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/src/reference/docbook/aggregator.xml b/docs/src/reference/docbook/aggregator.xml index b03ea9fd19..63653368d8 100644 --- a/docs/src/reference/docbook/aggregator.xml +++ b/docs/src/reference/docbook/aggregator.xml @@ -744,6 +744,15 @@ then you should simply provide an implementation of the ReleaseStrate The reaper is a Runnable, and all that is happening in the example above is that the message group store's expire method is being called once every 10 seconds. The timeout itself is 30 seconds. + + + It is important to understand that the 'timeout' property of the MessageGroupStoreReaper is an + approximate value and is impacted by the the rate of the task scheduler since this property will + only be checked on the next scheduled execution of the MessageGroupStoreReaper task. For example if + the timeout is set for 10 min, but the MessageGroupStoreReaper task is scheduled to run every 60 min + and the last execution of the MessageGroupStoreReaper task happened 1 min before the timeout, the + MessageGroup will not expire for the next 59 min. So it is recommended to set the rate at least equal to the value of the timeout or shorter. + In addition to the reaper, the expiry callbacks are invoked when the application shuts down via a lifecycle callback in the CorrelatingMessageHandler.