public class WebAsyncTask<V>
extends java.lang.Object
Callable
, a timeout value, and a task executor.Constructor and Description |
---|
WebAsyncTask(java.util.concurrent.Callable<V> callable)
Create a
WebAsyncTask wrapping the given Callable . |
WebAsyncTask(java.lang.Long timeout,
AsyncTaskExecutor executor,
java.util.concurrent.Callable<V> callable)
Create a
WebAsyncTask with a timeout value, an executor instance, and a Callable. |
WebAsyncTask(long timeout,
java.util.concurrent.Callable<V> callable)
Create a
WebAsyncTask with a timeout value and a Callable . |
WebAsyncTask(java.lang.Long timeout,
java.lang.String executorName,
java.util.concurrent.Callable<V> callable)
Create a
WebAsyncTask with a timeout value, an executor name, and a Callable . |
Modifier and Type | Method and Description |
---|---|
java.util.concurrent.Callable<?> |
getCallable()
Return the
Callable to use for concurrent handling, never null . |
AsyncTaskExecutor |
getExecutor()
Return the AsyncTaskExecutor to use for concurrent handling, or
null . |
java.lang.Long |
getTimeout()
Return the timeout value in milliseconds or
null if not value is set. |
void |
onCompletion(java.lang.Runnable callback)
Register code to invoke when the async request completes.
|
void |
onTimeout(java.util.concurrent.Callable<V> callback)
Register code to invoke when the async request times out.
|
void |
setBeanFactory(BeanFactory beanFactory)
A
BeanFactory to use to resolve an executor name. |
public WebAsyncTask(java.util.concurrent.Callable<V> callable)
WebAsyncTask
wrapping the given Callable
.callable
- the callable for concurrent handlingpublic WebAsyncTask(long timeout, java.util.concurrent.Callable<V> callable)
WebAsyncTask
with a timeout value and a Callable
.timeout
- timeout value in millisecondscallable
- the callable for concurrent handlingpublic WebAsyncTask(java.lang.Long timeout, java.lang.String executorName, java.util.concurrent.Callable<V> callable)
WebAsyncTask
with a timeout value, an executor name, and a Callable
.timeout
- timeout value in milliseconds; ignored if null
callable
- the callable for concurrent handlingpublic WebAsyncTask(java.lang.Long timeout, AsyncTaskExecutor executor, java.util.concurrent.Callable<V> callable)
WebAsyncTask
with a timeout value, an executor instance, and a Callable.timeout
- timeout value in milliseconds; ignored if null
callable
- the callable for concurrent handlingpublic java.util.concurrent.Callable<?> getCallable()
Callable
to use for concurrent handling, never null
.public java.lang.Long getTimeout()
null
if not value is set.public AsyncTaskExecutor getExecutor()
null
.public void setBeanFactory(BeanFactory beanFactory)
BeanFactory
to use to resolve an executor name. Applications are
not expected to have to set this property when WebAsyncTask
is used in a
Spring MVC controller.public void onTimeout(java.util.concurrent.Callable<V> callback)
Callable
has completed. The callback is executed in the same
thread and therefore should return without blocking. It may return an
alternative value to use, including an Exception
or return
RESULT_NONE
.public void onCompletion(java.lang.Runnable callback)