Java tutorial
/** * Copyright (c) 2005-2012 https://github.com/zhangkaitao * * Licensed under the Apache License, Version 2.0 (the "License"); */ package com.sishuok.chapter3.web.interceptor; import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.context.request.async.DeferredResult; import org.springframework.web.context.request.async.DeferredResultProcessingInterceptorAdapter; /** * <p>User: Zhang Kaitao * <p>Date: 13-7-18 ?9:10 * <p>Version: 1.0 */ public class MyDeferredResultInterceptor extends DeferredResultProcessingInterceptorAdapter { @Override public <T> void beforeConcurrentHandling(final NativeWebRequest request, final DeferredResult<T> deferredResult) throws Exception { System.out.println("=====startAsyc??"); } @Override public <T> void preProcess(final NativeWebRequest request, final DeferredResult<T> deferredResult) throws Exception { //??Callable beforeConcurrentHandling? System.out.println("startAsyc??"); } @Override public <T> void postProcess(final NativeWebRequest request, final DeferredResult<T> deferredResult, final Object concurrentResult) throws Exception { // DeferredResult.setResult(Object) DeferredResult#setErrorResult(Object) ? System.out.println("DeferredResult?"); } @Override public <T> boolean handleTimeout(final NativeWebRequest request, final DeferredResult<T> deferredResult) throws Exception { System.out.println(""); deferredResult.setErrorResult("error");// return true; //return true ?handleTimeout? } @Override public <T> void afterCompletion(final NativeWebRequest request, final DeferredResult<T> deferredResult) throws Exception { System.out.println("?"); } }