List of usage examples for org.springframework.web.context.request.async DeferredResultProcessingInterceptor DeferredResultProcessingInterceptor
DeferredResultProcessingInterceptor
From source file:org.springframework.web.context.request.async.DeferredResult.java
final DeferredResultProcessingInterceptor getInterceptor() { return new DeferredResultProcessingInterceptor() { @Override/* w ww .j av a2 s . c o m*/ public <S> boolean handleTimeout(NativeWebRequest request, DeferredResult<S> deferredResult) { boolean continueProcessing = true; try { if (timeoutCallback != null) { timeoutCallback.run(); } } finally { if (timeoutResult != RESULT_NONE) { continueProcessing = false; try { setResultInternal(timeoutResult); } catch (Throwable ex) { logger.debug("Failed to handle timeout result", ex); } } } return continueProcessing; } @Override public <S> boolean handleError(NativeWebRequest request, DeferredResult<S> deferredResult, Throwable t) { try { if (errorCallback != null) { errorCallback.accept(t); } } finally { try { setResultInternal(t); } catch (Throwable ex) { logger.debug("Failed to handle error result", ex); } } return false; } @Override public <S> void afterCompletion(NativeWebRequest request, DeferredResult<S> deferredResult) { expired = true; if (completionCallback != null) { completionCallback.run(); } } }; }