Browse Source

Deprecate adapter classes for async interceptors

pull/1464/merge
Rossen Stoyanchev 8 years ago
parent
commit
5b8f7f503f
  1. 16
      spring-orm/src/main/java/org/springframework/orm/hibernate5/support/AsyncRequestInterceptor.java
  2. 16
      spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java
  3. 8
      spring-test/src/main/java/org/springframework/test/web/servlet/TestDispatcherServlet.java
  4. 25
      spring-web/src/main/java/org/springframework/web/context/request/async/CallableProcessingInterceptor.java
  5. 2
      spring-web/src/main/java/org/springframework/web/context/request/async/CallableProcessingInterceptorAdapter.java
  6. 2
      spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResult.java
  7. 28
      spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptor.java
  8. 2
      spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptorAdapter.java
  9. 2
      spring-web/src/main/java/org/springframework/web/context/request/async/ErrorCallableProcessingInterceptor.java
  10. 3
      spring-web/src/main/java/org/springframework/web/context/request/async/ErrorDeferredResultProcessingInterceptor.java
  11. 2
      spring-web/src/main/java/org/springframework/web/context/request/async/TimeoutCallableProcessingInterceptor.java
  12. 2
      spring-web/src/main/java/org/springframework/web/context/request/async/TimeoutDeferredResultProcessingInterceptor.java
  13. 2
      spring-web/src/main/java/org/springframework/web/context/request/async/WebAsyncTask.java
  14. 15
      spring-web/src/test/java/org/springframework/web/context/request/async/WebAsyncManagerErrorTests.java
  15. 13
      spring-web/src/test/java/org/springframework/web/context/request/async/WebAsyncManagerTimeoutTests.java
  16. 4
      spring-webmvc/src/main/java/org/springframework/web/servlet/FrameworkServlet.java
  17. 18
      spring-webmvc/src/test/java/org/springframework/web/servlet/config/MvcNamespaceTests.java
  18. 7
      spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupportExtensionTests.java

16
spring-orm/src/main/java/org/springframework/orm/hibernate5/support/AsyncRequestInterceptor.java

@ -26,7 +26,7 @@ import org.springframework.orm.hibernate5.SessionFactoryUtils; @@ -26,7 +26,7 @@ import org.springframework.orm.hibernate5.SessionFactoryUtils;
import org.springframework.orm.hibernate5.SessionHolder;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter;
import org.springframework.web.context.request.async.CallableProcessingInterceptor;
import org.springframework.web.context.request.async.DeferredResult;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptor;
@ -41,7 +41,7 @@ import org.springframework.web.context.request.async.DeferredResultProcessingInt @@ -41,7 +41,7 @@ import org.springframework.web.context.request.async.DeferredResultProcessingInt
* @author Rossen Stoyanchev
* @since 4.2
*/
class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor {
class AsyncRequestInterceptor implements CallableProcessingInterceptor, DeferredResultProcessingInterceptor {
private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class);
@ -103,18 +103,6 @@ class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter imple @@ -103,18 +103,6 @@ class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter imple
// Implementation of DeferredResultProcessingInterceptor methods
@Override
public <T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult) {
}
@Override
public <T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult) {
}
@Override
public <T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult, Object result) {
}
@Override
public <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> deferredResult) {
this.timeoutInProgress = true;

16
spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java

@ -26,7 +26,7 @@ import org.springframework.orm.jpa.EntityManagerFactoryUtils; @@ -26,7 +26,7 @@ import org.springframework.orm.jpa.EntityManagerFactoryUtils;
import org.springframework.orm.jpa.EntityManagerHolder;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter;
import org.springframework.web.context.request.async.CallableProcessingInterceptor;
import org.springframework.web.context.request.async.DeferredResult;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptor;
@ -41,7 +41,7 @@ import org.springframework.web.context.request.async.DeferredResultProcessingInt @@ -41,7 +41,7 @@ import org.springframework.web.context.request.async.DeferredResultProcessingInt
* @author Rossen Stoyanchev
* @since 3.2.5
*/
class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor {
class AsyncRequestInterceptor implements CallableProcessingInterceptor, DeferredResultProcessingInterceptor {
private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class);
@ -103,18 +103,6 @@ class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter imple @@ -103,18 +103,6 @@ class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter imple
// Implementation of DeferredResultProcessingInterceptor methods
@Override
public <T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult) {
}
@Override
public <T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult) {
}
@Override
public <T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult, Object result) {
}
@Override
public <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> deferredResult) {
this.timeoutInProgress = true;

8
spring-test/src/main/java/org/springframework/test/web/servlet/TestDispatcherServlet.java

@ -26,9 +26,9 @@ import javax.servlet.http.HttpServletResponse; @@ -26,9 +26,9 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.lang.Nullable;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter;
import org.springframework.web.context.request.async.CallableProcessingInterceptor;
import org.springframework.web.context.request.async.DeferredResult;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptorAdapter;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptor;
import org.springframework.web.context.request.async.WebAsyncManager;
import org.springframework.web.context.request.async.WebAsyncUtils;
import org.springframework.web.servlet.DispatcherServlet;
@ -68,13 +68,13 @@ final class TestDispatcherServlet extends DispatcherServlet { @@ -68,13 +68,13 @@ final class TestDispatcherServlet extends DispatcherServlet {
private void registerAsyncResultInterceptors(final HttpServletRequest request) {
WebAsyncManager asyncManager = WebAsyncUtils.getAsyncManager(request);
asyncManager.registerCallableInterceptor(KEY, new CallableProcessingInterceptorAdapter() {
asyncManager.registerCallableInterceptor(KEY, new CallableProcessingInterceptor() {
@Override
public <T> void postProcess(NativeWebRequest r, Callable<T> task, Object value) throws Exception {
getMvcResult(request).setAsyncResult(value);
}
});
asyncManager.registerDeferredResultInterceptor(KEY, new DeferredResultProcessingInterceptorAdapter() {
asyncManager.registerDeferredResultInterceptor(KEY, new DeferredResultProcessingInterceptor() {
@Override
public <T> void postProcess(NativeWebRequest r, DeferredResult<T> result, Object value) throws Exception {
getMvcResult(request).setAsyncResult(value);

25
spring-web/src/main/java/org/springframework/web/context/request/async/CallableProcessingInterceptor.java

@ -45,9 +45,9 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -45,9 +45,9 @@ import org.springframework.web.context.request.NativeWebRequest;
*/
public interface CallableProcessingInterceptor {
static final Object RESULT_NONE = new Object();
Object RESULT_NONE = new Object();
static final Object RESPONSE_HANDLED = new Object();
Object RESPONSE_HANDLED = new Object();
/**
* Invoked <em>before</em> the start of concurrent handling in the original
@ -62,7 +62,8 @@ public interface CallableProcessingInterceptor { @@ -62,7 +62,8 @@ public interface CallableProcessingInterceptor {
* @param task the task for the current async request
* @throws Exception in case of errors
*/
<T> void beforeConcurrentHandling(NativeWebRequest request, Callable<T> task) throws Exception;
default <T> void beforeConcurrentHandling(NativeWebRequest request, Callable<T> task) throws Exception {
}
/**
* Invoked <em>after</em> the start of concurrent handling in the async
@ -72,7 +73,8 @@ public interface CallableProcessingInterceptor { @@ -72,7 +73,8 @@ public interface CallableProcessingInterceptor {
* @param task the task for the current async request
* @throws Exception in case of errors
*/
<T> void preProcess(NativeWebRequest request, Callable<T> task) throws Exception;
default <T> void preProcess(NativeWebRequest request, Callable<T> task) throws Exception {
}
/**
* Invoked <em>after</em> the {@code Callable} has produced a result in the
@ -85,7 +87,9 @@ public interface CallableProcessingInterceptor { @@ -85,7 +87,9 @@ public interface CallableProcessingInterceptor {
* be a {@link Throwable} if the {@code Callable} raised an exception
* @throws Exception in case of errors
*/
<T> void postProcess(NativeWebRequest request, Callable<T> task, Object concurrentResult) throws Exception;
default <T> void postProcess(NativeWebRequest request, Callable<T> task,
Object concurrentResult) throws Exception {
}
/**
* Invoked from a container thread when the async request times out before
@ -99,7 +103,9 @@ public interface CallableProcessingInterceptor { @@ -99,7 +103,9 @@ public interface CallableProcessingInterceptor {
* is resumed and subsequent interceptors are not invoked
* @throws Exception in case of errors
*/
<T> Object handleTimeout(NativeWebRequest request, Callable<T> task) throws Exception;
default <T> Object handleTimeout(NativeWebRequest request, Callable<T> task) throws Exception {
return RESULT_NONE;
}
/**
* Invoked from a container thread when an error occurred while processing
@ -115,7 +121,9 @@ public interface CallableProcessingInterceptor { @@ -115,7 +121,9 @@ public interface CallableProcessingInterceptor {
* @throws Exception in case of errors
* @since 5.0
*/
<T> Object handleError(NativeWebRequest request, Callable<T> task, Throwable t) throws Exception;
default <T> Object handleError(NativeWebRequest request, Callable<T> task, Throwable t) throws Exception {
return RESULT_NONE;
}
/**
* Invoked from a container thread when async processing completes for any
@ -124,6 +132,7 @@ public interface CallableProcessingInterceptor { @@ -124,6 +132,7 @@ public interface CallableProcessingInterceptor {
* @param task the task for the current async request
* @throws Exception in case of errors
*/
<T> void afterCompletion(NativeWebRequest request, Callable<T> task) throws Exception;
default <T> void afterCompletion(NativeWebRequest request, Callable<T> task) throws Exception {
}
}

2
spring-web/src/main/java/org/springframework/web/context/request/async/CallableProcessingInterceptorAdapter.java

@ -27,7 +27,9 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -27,7 +27,9 @@ import org.springframework.web.context.request.NativeWebRequest;
* @author Rossen Stoyanchev
* @author Rob Winch
* @since 3.2
* @deprecated as of 5.0 where CallableProcessingInterceptor has default methods
*/
@Deprecated
public abstract class CallableProcessingInterceptorAdapter implements CallableProcessingInterceptor {
/**

2
spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResult.java

@ -268,7 +268,7 @@ public class DeferredResult<T> { @@ -268,7 +268,7 @@ public class DeferredResult<T> {
final DeferredResultProcessingInterceptor getInterceptor() {
return new DeferredResultProcessingInterceptorAdapter() {
return new DeferredResultProcessingInterceptor() {
@Override
public <S> boolean handleTimeout(NativeWebRequest request, DeferredResult<S> deferredResult) {
boolean continueProcessing = true;

28
spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptor.java

@ -50,7 +50,9 @@ public interface DeferredResultProcessingInterceptor { @@ -50,7 +50,9 @@ public interface DeferredResultProcessingInterceptor {
* @param deferredResult the DeferredResult for the current request
* @throws Exception in case of errors
*/
<T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult) throws Exception;
default <T> void beforeConcurrentHandling(NativeWebRequest request, DeferredResult<T> deferredResult)
throws Exception {
}
/**
* Invoked immediately after the start of concurrent handling, in the same
@ -62,7 +64,9 @@ public interface DeferredResultProcessingInterceptor { @@ -62,7 +64,9 @@ public interface DeferredResultProcessingInterceptor {
* @param deferredResult the DeferredResult for the current request
* @throws Exception in case of errors
*/
<T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult) throws Exception;
default <T> void preProcess(NativeWebRequest request, DeferredResult<T> deferredResult)
throws Exception {
}
/**
* Invoked after a {@code DeferredResult} has been set, via
@ -77,7 +81,9 @@ public interface DeferredResultProcessingInterceptor { @@ -77,7 +81,9 @@ public interface DeferredResultProcessingInterceptor {
* @param concurrentResult the result to which the {@code DeferredResult}
* @throws Exception in case of errors
*/
<T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult, Object concurrentResult) throws Exception;
default <T> void postProcess(NativeWebRequest request, DeferredResult<T> deferredResult,
Object concurrentResult) throws Exception {
}
/**
* Invoked from a container thread when an async request times out before
@ -92,7 +98,11 @@ public interface DeferredResultProcessingInterceptor { @@ -92,7 +98,11 @@ public interface DeferredResultProcessingInterceptor {
* other interceptors should not be invoked
* @throws Exception in case of errors
*/
<T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> deferredResult) throws Exception;
default <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> deferredResult)
throws Exception {
return true;
}
/**
* Invoked from a container thread when an error occurred while processing an async request
@ -108,7 +118,11 @@ public interface DeferredResultProcessingInterceptor { @@ -108,7 +118,11 @@ public interface DeferredResultProcessingInterceptor {
* other interceptors should not be invoked
* @throws Exception in case of errors
*/
<T> boolean handleError(NativeWebRequest request, DeferredResult<T> deferredResult, Throwable t) throws Exception;
default <T> boolean handleError(NativeWebRequest request, DeferredResult<T> deferredResult,
Throwable t) throws Exception {
return true;
}
/**
* Invoked from a container thread when an async request completed for any
@ -118,6 +132,8 @@ public interface DeferredResultProcessingInterceptor { @@ -118,6 +132,8 @@ public interface DeferredResultProcessingInterceptor {
* @param deferredResult the DeferredResult for the current request
* @throws Exception in case of errors
*/
<T> void afterCompletion(NativeWebRequest request, DeferredResult<T> deferredResult) throws Exception;
default <T> void afterCompletion(NativeWebRequest request, DeferredResult<T> deferredResult)
throws Exception {
}
}

2
spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptorAdapter.java

@ -25,7 +25,9 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -25,7 +25,9 @@ import org.springframework.web.context.request.NativeWebRequest;
* @author Rossen Stoyanchev
* @author Rob Winch
* @since 3.2
* @deprecated as of 5.0 where DeferredResultProcessingInterceptor has default methods
*/
@Deprecated
public abstract class DeferredResultProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor {
/**

2
spring-web/src/main/java/org/springframework/web/context/request/async/ErrorCallableProcessingInterceptor.java

@ -27,7 +27,7 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -27,7 +27,7 @@ import org.springframework.web.context.request.NativeWebRequest;
* @author Violeta Georgieva
* @since 5.0
*/
class ErrorCallableProcessingInterceptor extends CallableProcessingInterceptorAdapter {
class ErrorCallableProcessingInterceptor implements CallableProcessingInterceptor {
@Override
public <T> Object handleError(NativeWebRequest request, Callable<T> task, Throwable t) throws Exception {

3
spring-web/src/main/java/org/springframework/web/context/request/async/ErrorDeferredResultProcessingInterceptor.java

@ -25,11 +25,12 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -25,11 +25,12 @@ import org.springframework.web.context.request.NativeWebRequest;
* @author Violeta Georgieva
* @since 5.0
*/
public class ErrorDeferredResultProcessingInterceptor extends DeferredResultProcessingInterceptorAdapter {
public class ErrorDeferredResultProcessingInterceptor implements DeferredResultProcessingInterceptor {
@Override
public <T> boolean handleError(NativeWebRequest request, DeferredResult<T> result, Throwable t)
throws Exception {
result.setErrorResult(t);
return false;
}

2
spring-web/src/main/java/org/springframework/web/context/request/async/TimeoutCallableProcessingInterceptor.java

@ -37,7 +37,7 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -37,7 +37,7 @@ import org.springframework.web.context.request.NativeWebRequest;
* @author Rossen Stoyanchev
* @since 3.2
*/
public class TimeoutCallableProcessingInterceptor extends CallableProcessingInterceptorAdapter {
public class TimeoutCallableProcessingInterceptor implements CallableProcessingInterceptor {
@Override
public <T> Object handleTimeout(NativeWebRequest request, Callable<T> task) throws Exception {

2
spring-web/src/main/java/org/springframework/web/context/request/async/TimeoutDeferredResultProcessingInterceptor.java

@ -35,7 +35,7 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -35,7 +35,7 @@ import org.springframework.web.context.request.NativeWebRequest;
* @author Rossen Stoyanchev
* @since 3.2
*/
public class TimeoutDeferredResultProcessingInterceptor extends DeferredResultProcessingInterceptorAdapter {
public class TimeoutDeferredResultProcessingInterceptor implements DeferredResultProcessingInterceptor {
@Override
public <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> result) throws Exception {

2
spring-web/src/main/java/org/springframework/web/context/request/async/WebAsyncTask.java

@ -176,7 +176,7 @@ public class WebAsyncTask<V> implements BeanFactoryAware { @@ -176,7 +176,7 @@ public class WebAsyncTask<V> implements BeanFactoryAware {
}
CallableProcessingInterceptor getInterceptor() {
return new CallableProcessingInterceptorAdapter() {
return new CallableProcessingInterceptor() {
@Override
public <T> Object handleTimeout(NativeWebRequest request, Callable<T> task) throws Exception {
return (timeoutCallback != null ? timeoutCallback.call() : CallableProcessingInterceptor.RESULT_NONE);

15
spring-web/src/test/java/org/springframework/web/context/request/async/WebAsyncManagerErrorTests.java

@ -18,20 +18,23 @@ package org.springframework.web.context.request.async; @@ -18,20 +18,23 @@ package org.springframework.web.context.request.async;
import java.util.concurrent.Callable;
import java.util.function.Consumer;
import javax.servlet.AsyncEvent;
import org.junit.Before;
import org.junit.Test;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.mock.web.test.MockAsyncContext;
import org.springframework.mock.web.test.MockHttpServletRequest;
import org.springframework.mock.web.test.MockHttpServletResponse;
import org.springframework.web.context.request.NativeWebRequest;
import static org.junit.Assert.*;
import static org.mockito.BDDMockito.*;
import static org.springframework.web.context.request.async.CallableProcessingInterceptor.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.mock;
import static org.mockito.BDDMockito.verify;
import static org.springframework.web.context.request.async.CallableProcessingInterceptor.RESULT_NONE;
/**
* {@link WebAsyncManager} tests where container-triggered error/completion
@ -222,7 +225,7 @@ public class WebAsyncManagerErrorTests { @@ -222,7 +225,7 @@ public class WebAsyncManagerErrorTests {
DeferredResult<Integer> deferredResult = new DeferredResult<>();
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptorAdapter() {
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptor() {
@Override
public <T> boolean handleError(NativeWebRequest request, DeferredResult<T> result, Throwable t)
throws Exception {
@ -249,7 +252,7 @@ public class WebAsyncManagerErrorTests { @@ -249,7 +252,7 @@ public class WebAsyncManagerErrorTests {
DeferredResult<Integer> deferredResult = new DeferredResult<>();
final Exception exception = new Exception();
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptorAdapter() {
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptor() {
@Override
public <T> boolean handleError(NativeWebRequest request, DeferredResult<T> result, Throwable t)
throws Exception {

13
spring-web/src/test/java/org/springframework/web/context/request/async/WebAsyncManagerTimeoutTests.java

@ -28,9 +28,12 @@ import org.springframework.mock.web.test.MockHttpServletRequest; @@ -28,9 +28,12 @@ import org.springframework.mock.web.test.MockHttpServletRequest;
import org.springframework.mock.web.test.MockHttpServletResponse;
import org.springframework.web.context.request.NativeWebRequest;
import static org.junit.Assert.*;
import static org.mockito.BDDMockito.*;
import static org.springframework.web.context.request.async.CallableProcessingInterceptor.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.mock;
import static org.mockito.BDDMockito.verify;
import static org.springframework.web.context.request.async.CallableProcessingInterceptor.RESULT_NONE;
/**
* {@link WebAsyncManager} tests where container-triggered timeout/completion
@ -210,7 +213,7 @@ public class WebAsyncManagerTimeoutTests { @@ -210,7 +213,7 @@ public class WebAsyncManagerTimeoutTests {
DeferredResult<Integer> deferredResult = new DeferredResult<>();
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptorAdapter() {
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptor() {
@Override
public <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> result) throws Exception {
result.setErrorResult(23);
@ -235,7 +238,7 @@ public class WebAsyncManagerTimeoutTests { @@ -235,7 +238,7 @@ public class WebAsyncManagerTimeoutTests {
DeferredResult<Integer> deferredResult = new DeferredResult<>();
final Exception exception = new Exception();
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptorAdapter() {
DeferredResultProcessingInterceptor interceptor = new DeferredResultProcessingInterceptor() {
@Override
public <T> boolean handleTimeout(NativeWebRequest request, DeferredResult<T> result) throws Exception {
throw exception;

4
spring-webmvc/src/main/java/org/springframework/web/servlet/FrameworkServlet.java

@ -55,7 +55,7 @@ import org.springframework.web.context.request.NativeWebRequest; @@ -55,7 +55,7 @@ import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter;
import org.springframework.web.context.request.async.CallableProcessingInterceptor;
import org.springframework.web.context.request.async.WebAsyncManager;
import org.springframework.web.context.request.async.WebAsyncUtils;
import org.springframework.web.context.support.ServletRequestHandledEvent;
@ -1126,7 +1126,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic @@ -1126,7 +1126,7 @@ public abstract class FrameworkServlet extends HttpServletBean implements Applic
* CallableProcessingInterceptor implementation that initializes and resets
* FrameworkServlet's context holders, i.e. LocaleContextHolder and RequestContextHolder.
*/
private class RequestBindingInterceptor extends CallableProcessingInterceptorAdapter {
private class RequestBindingInterceptor implements CallableProcessingInterceptor {
@Override
public <T> void preProcess(NativeWebRequest webRequest, Callable<T> task) {

18
spring-webmvc/src/test/java/org/springframework/web/servlet/config/MvcNamespaceTests.java

@ -84,9 +84,7 @@ import org.springframework.web.context.WebApplicationContext; @@ -84,9 +84,7 @@ import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.context.request.ServletWebRequest;
import org.springframework.web.context.request.async.CallableProcessingInterceptor;
import org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptor;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptorAdapter;
import org.springframework.web.context.support.GenericWebApplicationContext;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.method.HandlerMethod;
@ -143,8 +141,16 @@ import org.springframework.web.servlet.view.tiles3.TilesConfigurer; @@ -143,8 +141,16 @@ import org.springframework.web.servlet.view.tiles3.TilesConfigurer;
import org.springframework.web.servlet.view.tiles3.TilesViewResolver;
import org.springframework.web.util.UrlPathHelper;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.*;
import static org.hamcrest.Matchers.containsInAnyOrder;
import static org.hamcrest.Matchers.instanceOf;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
/**
* Tests loading actual MVC namespace configuration.
@ -1029,11 +1035,11 @@ public class MvcNamespaceTests { @@ -1029,11 +1035,11 @@ public class MvcNamespaceTests {
}
public static class TestCallableProcessingInterceptor extends CallableProcessingInterceptorAdapter {
public static class TestCallableProcessingInterceptor implements CallableProcessingInterceptor {
}
public static class TestDeferredResultProcessingInterceptor extends DeferredResultProcessingInterceptorAdapter {
public static class TestDeferredResultProcessingInterceptor implements DeferredResultProcessingInterceptor {
}

7
spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupportExtensionTests.java

@ -22,7 +22,6 @@ import java.util.List; @@ -22,7 +22,6 @@ import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Before;
import org.junit.Test;
@ -54,9 +53,7 @@ import org.springframework.web.bind.support.ConfigurableWebBindingInitializer; @@ -54,9 +53,7 @@ import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.context.request.ServletWebRequest;
import org.springframework.web.context.request.async.CallableProcessingInterceptor;
import org.springframework.web.context.request.async.CallableProcessingInterceptorAdapter;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptor;
import org.springframework.web.context.request.async.DeferredResultProcessingInterceptorAdapter;
import org.springframework.web.context.support.StaticWebApplicationContext;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.method.annotation.ModelAttributeMethodProcessor;
@ -373,8 +370,8 @@ public class WebMvcConfigurationSupportExtensionTests { @@ -373,8 +370,8 @@ public class WebMvcConfigurationSupportExtensionTests {
@Override
public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
configurer.setDefaultTimeout(2500).setTaskExecutor(new ConcurrentTaskExecutor())
.registerCallableInterceptors(new CallableProcessingInterceptorAdapter() { })
.registerDeferredResultInterceptors(new DeferredResultProcessingInterceptorAdapter() {});
.registerCallableInterceptors(new CallableProcessingInterceptor() { })
.registerDeferredResultInterceptors(new DeferredResultProcessingInterceptor() {});
}
@Override

Loading…
Cancel
Save