Package dev.failsafe
Interface ExecutionContext<R>
-
- Type Parameters:
R
- result type
- All Known Subinterfaces:
AsyncExecution<R>
,AsyncExecutionInternal<R>
,Execution<R>
,ExecutionInternal<R>
,SyncExecutionInternal<R>
- All Known Implementing Classes:
AsyncExecutionImpl
,ExecutionImpl
,SyncExecutionImpl
public interface ExecutionContext<R>
Contextual execution information.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getAttemptCount()
Gets the number of execution attempts so far, including attempts that are blocked before being executed, such as when aCircuitBreaker
is open.java.time.Duration
getElapsedAttemptTime()
Returns the elapsed time since the last execution attempt began.java.time.Duration
getElapsedTime()
Returns the elapsed time since initial execution began.int
getExecutionCount()
Gets the number of completed executions so far.<T extends java.lang.Throwable>
TgetLastException()
Returns the last exception that was recorded elsenull
.R
getLastResult()
Returns the last result that was recorded elsenull
.R
getLastResult(R defaultValue)
Returns the last result that was recorded else thedefaultValue
.java.time.Instant
getStartTime()
Returns the time that the initial execution started.boolean
isCancelled()
Returns whether the execution has been cancelled.boolean
isFirstAttempt()
Returnstrue
when an execution result has not yet been recorded, meaning this is the first execution attempt.boolean
isRetry()
Returnstrue
when an execution result has already been recorded, meaning the execution is being retried.void
onCancel(CheckedRunnable cancelCallback)
-
-
-
Method Detail
-
onCancel
void onCancel(CheckedRunnable cancelCallback)
-
getElapsedTime
java.time.Duration getElapsedTime()
Returns the elapsed time since initial execution began.
-
getElapsedAttemptTime
java.time.Duration getElapsedAttemptTime()
Returns the elapsed time since the last execution attempt began.
-
getAttemptCount
int getAttemptCount()
Gets the number of execution attempts so far, including attempts that are blocked before being executed, such as when aCircuitBreaker
is open. Will return0
when the first attempt is in progress or has yet to begin.
-
getExecutionCount
int getExecutionCount()
Gets the number of completed executions so far. Executions that are blocked, such as when aCircuitBreaker
is open, are not counted. Will return0
when the first attempt is in progress or has yet to begin.
-
getLastException
<T extends java.lang.Throwable> T getLastException()
Returns the last exception that was recorded elsenull
.
-
getLastResult
R getLastResult()
Returns the last result that was recorded elsenull
.
-
getLastResult
R getLastResult(R defaultValue)
Returns the last result that was recorded else thedefaultValue
.
-
getStartTime
java.time.Instant getStartTime()
Returns the time that the initial execution started.
-
isCancelled
boolean isCancelled()
Returns whether the execution has been cancelled. In this case the implementor should attempt to stop execution.
-
isFirstAttempt
boolean isFirstAttempt()
Returnstrue
when an execution result has not yet been recorded, meaning this is the first execution attempt.
-
isRetry
boolean isRetry()
Returnstrue
when an execution result has already been recorded, meaning the execution is being retried.
-
-