@RequestScoped public class UninterruptableTimeoutClient extends Object
| Constructor and Description |
|---|
UninterruptableTimeoutClient() |
| Modifier and Type | Method and Description |
|---|---|
Future<String> |
fallback(Future<?> waitingFuture) |
int |
getTimeoutAsyncBulkheadCounter() |
int |
getTimeoutAsyncRetryCounter() |
void |
serviceTimeout(long waitMs)
Waits for at least
waitms, then returns |
Future<Void> |
serviceTimeoutAsync(Future<?> waitingFuture,
CompletableFuture<Void> completion)
Waits for waitingFuture to complete, then returns.
|
Future<Void> |
serviceTimeoutAsyncBulkhead(Future<?> waitingFuture)
Waits for waitingFuture to complete, then returns.
|
Future<Void> |
serviceTimeoutAsyncBulkheadQueueTimed(Future<?> waitingFuture)
Waits for waitingFuture to complete, then returns.
|
CompletionStage<Void> |
serviceTimeoutAsyncCS(long waitMs)
Waits for at least
waitMs, then returns |
Future<String> |
serviceTimeoutAsyncFallback(Future<?> waitingFuture)
Waits for waitingFuture to complete, then returns.
|
Future<Void> |
serviceTimeoutAsyncRetry(Future<?> waitingFuture)
Waits for waitingFuture to complete, then returns.
|
@Timeout(value=500L, unit=MILLIS) public void serviceTimeout(long waitMs)
waitms, then returns
Times out in 500ms.
Does not respect thread interruption.
Uses a tight loop so the thread interrupted flag should be set when the method returns
waitMs - the time to wait@Timeout(value=500L, unit=MILLIS) @Asynchronous public Future<Void> serviceTimeoutAsync(Future<?> waitingFuture, CompletableFuture<Void> completion)
Times out in 500ms.
Runs asynchronously.
Does not respect thread interruption.
waitingFuture - future to wait forcompletion - future that this method will complete before returning@Timeout(value=500L, unit=MILLIS) @Asynchronous public CompletionStage<Void> serviceTimeoutAsyncCS(long waitMs)
waitMs, then returns
Times out in 500ms
Runs asynchronously
Does not respect thread interruption.
Uses a tight loop so the thread interrupted flag should be set when the method returns
waitMs - the time to wait@Timeout(value=500L, unit=MILLIS) @Asynchronous @Bulkhead(value=1, waitingTaskQueue=1) public Future<Void> serviceTimeoutAsyncBulkhead(Future<?> waitingFuture)
Times out in 500ms.
Runs asynchronously.
Does not respect thread interruption.
Has a bulkhead with capacity of 1, queue size of 1.
Increments timeoutAsyncBulkheadCounter.
waitingFuture - future to wait forpublic int getTimeoutAsyncBulkheadCounter()
@Timeout(value=500L, unit=MILLIS) @Asynchronous @Bulkhead(value=1, waitingTaskQueue=1) public Future<Void> serviceTimeoutAsyncBulkheadQueueTimed(Future<?> waitingFuture)
Times out in 500ms.
Runs asynchronously.
Does not respect thread interruption.
Has a bulkhead with capacity of 1, queue size of 1.
waitingFuture - future to wait for@Timeout(value=500L, unit=MILLIS) @Asynchronous @Retry(maxRetries=2, delay=0L, jitter=0L) public Future<Void> serviceTimeoutAsyncRetry(Future<?> waitingFuture)
Times out in 500ms.
Runs asynchronously.
Does not respect thread interruption.
Will do 2 retries with no delay.
Increments timeoutAsyncRetryCounter.
waitingFuture - future to wait forpublic int getTimeoutAsyncRetryCounter()
@Timeout(value=500L, unit=MILLIS) @Asynchronous @Fallback(fallbackMethod="fallback") public Future<String> serviceTimeoutAsyncFallback(Future<?> waitingFuture)
Times out in 500ms.
Runs asynchronously.
Does not respect thread interruption.
Will run the fallback method on exception
waitingFuture - future to wait forCopyright © 2016 – 2022 Eclipse Foundation. All rights reserved.
Use is subject to license terms.