Slide 18
Slide 18 text
Separate Threads: Timeout
public K get() throws CancellationException, InterruptedException, ExecutionException
{
try {
long timeout =
getCircuitBreaker().getCommandTimeoutInMilliseconds();
return get(timeout, TimeUnit.MILLISECONDS);
} catch (TimeoutException e) {
// report timeout failure
circuitBreaker.markTimeout(
System.currentTimeMillis() - startTime);
// retrieve the fallback
return getFallback();
}
}
Override of Future.get()
try {
return get(timeout, TimeUnit.MILLISECONDS);
} catch (TimeoutException e) {
}
}
18