Package org.apache.beam.sdk.util
Interface BackOff
-
public interface BackOff
Back-off policy when retrying an operation.Note: This interface is copied from Google API client library to avoid its dependency.
-
-
Field Summary
Fields Modifier and Type Field Description static long
STOP
Indicates that no more retries should be made for use innextBackOffMillis()
.static BackOff
STOP_BACKOFF
Fixed back-off policy that always returns#STOP
fornextBackOffMillis()
, meaning that the operation should not be retried.static BackOff
ZERO_BACKOFF
Fixed back-off policy whose back-off time is always zero, meaning that the operation is retried immediately without waiting.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description long
nextBackOffMillis()
Gets the number of milliseconds to wait before retrying the operation orSTOP
to indicate that no retries should be made.void
reset()
Reset to initial state.
-
-
-
Field Detail
-
STOP
static final long STOP
Indicates that no more retries should be made for use innextBackOffMillis()
.- See Also:
- Constant Field Values
-
ZERO_BACKOFF
static final BackOff ZERO_BACKOFF
Fixed back-off policy whose back-off time is always zero, meaning that the operation is retried immediately without waiting.
-
STOP_BACKOFF
static final BackOff STOP_BACKOFF
Fixed back-off policy that always returns#STOP
fornextBackOffMillis()
, meaning that the operation should not be retried.
-
-
Method Detail
-
reset
void reset() throws java.io.IOException
Reset to initial state.- Throws:
java.io.IOException
-
nextBackOffMillis
long nextBackOffMillis() throws java.io.IOException
Gets the number of milliseconds to wait before retrying the operation orSTOP
to indicate that no retries should be made.Example usage:
long backOffMillis = backoff.nextBackOffMillis(); if (backOffMillis == Backoff.STOP) { // do not retry operation } else { // sleep for backOffMillis milliseconds and retry operation }
- Throws:
java.io.IOException
-
-