V - the value typepublic class AsyncResult<V> extends Object implements ListenableFuture<V>
Future handle that can be used for method signatures
which are declared with a Future return type for asynchronous execution.
As of Spring 4.1, this class implements ListenableFuture, not just
plain Future, along with the corresponding support
in @Async processing.
As of Spring 4.2, this class also supports passing execution exceptions back to the caller.
Async,
forValue(Object),
forExecutionException(Throwable)| Constructor and Description |
|---|
AsyncResult(V value)
Create a new AsyncResult holder.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCallback(ListenableFutureCallback<? super V> callback)
Register the given
ListenableFutureCallback. |
void |
addCallback(SuccessCallback<? super V> successCallback,
FailureCallback failureCallback)
Java 8 lambda-friendly alternative with success and failure callbacks.
|
boolean |
cancel(boolean mayInterruptIfRunning) |
CompletableFuture<V> |
completable()
Expose this
ListenableFuture as a JDK CompletableFuture. |
static <V> ListenableFuture<V> |
forExecutionException(Throwable ex)
Create a new async result which exposes the given exception as an
ExecutionException from Future.get(). |
static <V> ListenableFuture<V> |
forValue(V value)
Create a new async result which exposes the given value from
Future.get(). |
V |
get() |
V |
get(long timeout,
TimeUnit unit) |
boolean |
isCancelled() |
boolean |
isDone() |
public boolean cancel(boolean mayInterruptIfRunning)
public boolean isCancelled()
isCancelled in interface Future<V>@Nullable public V get() throws ExecutionException
get in interface Future<V>ExecutionException@Nullable public V get(long timeout, TimeUnit unit) throws ExecutionException
get in interface Future<V>ExecutionExceptionpublic void addCallback(ListenableFutureCallback<? super V> callback)
ListenableFutureListenableFutureCallback.addCallback in interface ListenableFuture<V>callback - the callback to registerpublic void addCallback(SuccessCallback<? super V> successCallback, FailureCallback failureCallback)
ListenableFutureaddCallback in interface ListenableFuture<V>successCallback - the success callbackfailureCallback - the failure callbackpublic CompletableFuture<V> completable()
ListenableFutureListenableFuture as a JDK CompletableFuture.completable in interface ListenableFuture<V>public static <V> ListenableFuture<V> forValue(V value)
Future.get().value - the value to exposeFuture.get()public static <V> ListenableFuture<V> forExecutionException(Throwable ex)
ExecutionException from Future.get().ex - the exception to expose (either an pre-built ExecutionException
or a cause to be wrapped in an ExecutionException)ExecutionException