public class ExponentialDelayPolicy extends java.lang.Object implements DelayPolicy
| Constructor and Description |
|---|
ExponentialDelayPolicy(long delayMillis,
long maxDelayMillis,
double growthFactor)
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
long |
getDelay(int numAttempts,
long lastDelay)
Gets the minimum amount of time that must elapse before the next retry
attempt.
|
java.lang.String |
toString()
Returns a string of the form:
"10 seconds after first attempt, increasing by 2x for each additional attempt up to 300 seconds".
|
public ExponentialDelayPolicy(long delayMillis,
long maxDelayMillis,
double growthFactor)
delayMillis - -
the minimum delay (in milliseconds) for the first retry
attempt; must be > 0maxDelayMillis - -
the maximum cap (in milliseconds) applied to the computed
delay; must be >= delayMillisgrowthFactor - -
the exponential growth factor applied to the previous delay in
order to compute the next delay; must be >= 1.0 with
1.0 resulting in a fixed delaypublic long getDelay(int numAttempts,
long lastDelay)
getDelay in interface DelayPolicynumAttempts - -
the number of previous attempts (including first attempt and
retries); assumed to be >= 1lastDelay - -
the delay (in milliseconds) returned by the previous call to
this method (i.e., with numAttempts-1); -1 if
not previously code (i.e., when numAttempts==0public java.lang.String toString()
toString in interface DelayPolicytoString in class java.lang.Object