Class CallableProcessingInterceptorAdapter
- java.lang.Object
- org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter
- All Implemented Interfaces:
CallableProcessingInterceptor
@Deprecated public abstract class CallableProcessingInterceptorAdapter extends Object implements CallableProcessingInterceptor
Deprecated.as of 5.0 where CallableProcessingInterceptor has default methodsAbstract adapter class for theCallableProcessingInterceptor
interface, for simplified implementation of individual methods.- Since:
- 3.2
- Author:
- Rossen Stoyanchev, Rob Winch
Field Summary
Fields inherited from interface org.springframework.web.context.request.async.CallableProcessingInterceptor
RESPONSE_HANDLED, RESULT_NONE
Constructor Summary
Constructors Constructor Description CallableProcessingInterceptorAdapter()
Deprecated.
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description <T> void
afterCompletion(NativeWebRequest request, Callable<T> task)
Deprecated.Invoked from a container thread when async processing completes for any reason including timeout or network error.<T> void
beforeConcurrentHandling(NativeWebRequest request, Callable<T> task)
Deprecated.Invoked before the start of concurrent handling in the original thread in which theCallable
is submitted for concurrent handling.<T> Object
handleError(NativeWebRequest request, Callable<T> task, Throwable t)
Deprecated.Invoked from a container thread when an error occurred while processing the async request before theCallable
task completes.<T> Object
handleTimeout(NativeWebRequest request, Callable<T> task)
Deprecated.Invoked from a container thread when the async request times out before theCallable
task completes.<T> void
postProcess(NativeWebRequest request, Callable<T> task, Object concurrentResult)
Deprecated.Invoked after theCallable
has produced a result in the async thread in which theCallable
is executed.<T> void
preProcess(NativeWebRequest request, Callable<T> task)
Deprecated.Invoked after the start of concurrent handling in the async thread in which theCallable
is executed and before the actual invocation of theCallable
.
Constructor Detail
CallableProcessingInterceptorAdapter
public CallableProcessingInterceptorAdapter()
Deprecated.
Method Detail
beforeConcurrentHandling
public <T> void beforeConcurrentHandling(NativeWebRequest request, Callable<T> task) throws Exception
Deprecated.Description copied from interface:CallableProcessingInterceptor
Invoked before the start of concurrent handling in the original thread in which theCallable
is submitted for concurrent handling.This is useful for capturing the state of the current thread just prior to invoking the
Callable
. Once the state is captured, it can then be transferred to the newThread
inCallableProcessingInterceptor.preProcess(NativeWebRequest, Callable)
. Capturing the state of Spring Security's SecurityContextHolder and migrating it to the new Thread is a concrete example of where this is useful.The default implementation is empty.
- Specified by:
beforeConcurrentHandling
in interfaceCallableProcessingInterceptor
- Parameters:
request
- the current requesttask
- the task for the current async request- Throws:
Exception
- in case of errors
preProcess
public <T> void preProcess(NativeWebRequest request, Callable<T> task) throws Exception
Deprecated.Description copied from interface:CallableProcessingInterceptor
Invoked after the start of concurrent handling in the async thread in which theCallable
is executed and before the actual invocation of theCallable
.The default implementation is empty.
- Specified by:
preProcess
in interfaceCallableProcessingInterceptor
- Parameters:
request
- the current requesttask
- the task for the current async request- Throws:
Exception
- in case of errors
postProcess
public <T> void postProcess(NativeWebRequest request, Callable<T> task, Object concurrentResult) throws Exception
Deprecated.Description copied from interface:CallableProcessingInterceptor
Invoked after theCallable
has produced a result in the async thread in which theCallable
is executed. This method may be invoked later thanafterTimeout
orafterCompletion
depending on when theCallable
finishes processing.The default implementation is empty.
- Specified by:
postProcess
in interfaceCallableProcessingInterceptor
- Parameters:
request
- the current requesttask
- the task for the current async requestconcurrentResult
- the result of concurrent processing, which could be aThrowable
if theCallable
raised an exception- Throws:
Exception
- in case of errors
handleTimeout
public <T> Object handleTimeout(NativeWebRequest request, Callable<T> task) throws Exception
Deprecated.Description copied from interface:CallableProcessingInterceptor
Invoked from a container thread when the async request times out before theCallable
task completes. Implementations may return a value, including anException
, to use instead of the value theCallable
did not return in time.The default implementation always returns
CallableProcessingInterceptor.RESULT_NONE
.- Specified by:
handleTimeout
in interfaceCallableProcessingInterceptor
- Parameters:
request
- the current requesttask
- the task for the current async request- Returns:
- a concurrent result value; if the value is anything other than
CallableProcessingInterceptor.RESULT_NONE
orCallableProcessingInterceptor.RESPONSE_HANDLED
, concurrent processing is resumed and subsequent interceptors are not invoked - Throws:
Exception
- in case of errors
handleError
public <T> Object handleError(NativeWebRequest request, Callable<T> task, Throwable t) throws Exception
Deprecated.Description copied from interface:CallableProcessingInterceptor
Invoked from a container thread when an error occurred while processing the async request before theCallable
task completes. Implementations may return a value, including anException
, to use instead of the value theCallable
did not return in time.The default implementation always returns
CallableProcessingInterceptor.RESULT_NONE
.- Specified by:
handleError
in interfaceCallableProcessingInterceptor
- Parameters:
request
- the current requesttask
- the task for the current async requestt
- the error that occurred while request processing- Returns:
- a concurrent result value; if the value is anything other than
CallableProcessingInterceptor.RESULT_NONE
orCallableProcessingInterceptor.RESPONSE_HANDLED
, concurrent processing is resumed and subsequent interceptors are not invoked - Throws:
Exception
- in case of errors
afterCompletion
public <T> void afterCompletion(NativeWebRequest request, Callable<T> task) throws Exception
Deprecated.Description copied from interface:CallableProcessingInterceptor
Invoked from a container thread when async processing completes for any reason including timeout or network error.The default implementation is empty.
- Specified by:
afterCompletion
in interfaceCallableProcessingInterceptor
- Parameters:
request
- the current requesttask
- the task for the current async request- Throws:
Exception
- in case of errors