Description. A party sends a request to several other
parties, which may all be identical or logically related. Responses are
expected within a given timeframe. However, some responses may not
arrive within the timeframe and some parties may even not respond at
all. The interaction may complete successfully or not depending on the
set of responses gathered.
Case 1: Enough
responses received on time.
Constraints: Three out of
four responses required to arrive within 10 seconds. (In the
terminology of the pattern: stop condition = success condition = 75% of
replies to sent requests are received, timeframe = 10 seconds).
Scenario: Three responses arrive within 8 seconds and thus the supplier
service proceeds with its processing. A fourh response arrives later
but is not consumed since enough responses have been received.
Case 2: Not enough
responses received on time.
Constraints: Three out of
four responses required to arrive within 5 seconds. (In the terminology of the pattern: stop
condition = success condition = 75% of replies to sent requests are
received, timeframe = 5 seconds).
Scenario: Only two responses arrive after 5 seconds. A timeout occurs
and an exception is raised. A third response arrives too late. The
fourth party does not reply at all.