Package dev.failsafe
Class TimeoutBuilder<R>
- java.lang.Object
-
- dev.failsafe.PolicyBuilder<TimeoutBuilder<R>,TimeoutConfig<R>,R>
-
- dev.failsafe.TimeoutBuilder<R>
-
- Type Parameters:
R
- result type
- All Implemented Interfaces:
PolicyListeners<TimeoutBuilder<R>,R>
public class TimeoutBuilder<R> extends PolicyBuilder<TimeoutBuilder<R>,TimeoutConfig<R>,R>
BuildsTimeout
instances.This class is not threadsafe.
- See Also:
TimeoutConfig
,TimeoutExceededException
-
-
Field Summary
-
Fields inherited from class dev.failsafe.PolicyBuilder
config
-
-
Constructor Summary
Constructors Constructor Description TimeoutBuilder(TimeoutConfig<R> config)
TimeoutBuilder(java.time.Duration timeout)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Timeout<R>
build()
Builds a newTimeout
using the builder's configuration.TimeoutBuilder<R>
withInterrupt()
Configures the policy to interrupt an execution in addition to cancelling it when the timeout is exceeded.-
Methods inherited from class dev.failsafe.PolicyBuilder
onFailure, onSuccess
-
-
-
-
Constructor Detail
-
TimeoutBuilder
TimeoutBuilder(java.time.Duration timeout)
-
TimeoutBuilder
TimeoutBuilder(TimeoutConfig<R> config)
-
-
Method Detail
-
withInterrupt
public TimeoutBuilder<R> withInterrupt()
Configures the policy to interrupt an execution in addition to cancelling it when the timeout is exceeded. For synchronous executions this is done by callingThread.interrupt()
on the execution's thread. For asynchronous executions this is done by callingFuture.cancel(true)
. Executions can internally cooperate with interruption by checkingThread.isInterrupted()
or by handlingInterruptedException
where available.Note: Only configure interrupts if the code being executed is designed to be interrupted.
Note: interruption will have no effect when performing an
async execution
since the async thread is unknown to Failsafe.
-
-