INT-3489 Reschedule Aggregator's group-timeout

JIRA: https://jira.spring.io/browse/INT-3489

* Catch `MessageDeliveryException` and reschedule `group-time out task`: `AbstractCorrelatingMessageHandler#scheduleGroupToForceComplete`
* Apply `send-timeout` for the `discardChannel`
* Mark `groupRemove = false` in case of `MessageDeliveryException`
* Improve `send-timeout` docs

INT-3489: Recalculate `groupTimeout` on each rescheduling

Add Test for Zero Timeout
This commit is contained in:
Artem Bilan
2014-08-02 22:20:10 +03:00
committed by Gary Russell
parent f84e798272
commit 1c051416ce
9 changed files with 190 additions and 63 deletions

View File

@@ -102,8 +102,15 @@
</callout>
<callout arearefs="resxml10-co" id="resxml10">
<para>The timeout for sending out messages.
<emphasis>Optional</emphasis>.</para>
<para>The timeout interval to wait when sending a reply
<interfacename>Message</interfacename> to the <code>output-channel</code> or <code>discard-channel</code>.
By default the send will block for one second.
It is applied only if the output channel has some 'sending' limitations, e.g. <classname>QueueChannel</classname>
with a fixed 'capacity'. In this case a <classname>MessageDeliveryException</classname> is thrown.
The <code>send-timeout</code> is ignored in case of <classname>AbstractSubscribableChannel</classname> implementations.
In case of <code>group-timeout(-expression)</code> the <classname>MessageDeliveryException</classname>
from the scheduled expire task leads this task to be rescheduled.
<emphasis>Optional</emphasis>.</para>
</callout>
<callout arearefs="resxml11-co" id="resxml11">