diff --git a/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java b/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java index cc1ec1ac2a45bdd40626af1bf2bc9926b8c86598..2878605d42b6af496362c2c7674d855bbab4b8be 100644 --- a/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java +++ b/spring-orm-hibernate4/src/main/java/org/springframework/orm/hibernate4/support/AsyncRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ package org.springframework.orm.hibernate4.support; - import java.util.concurrent.Callable; import org.apache.commons.logging.Log; @@ -42,8 +41,7 @@ import org.springframework.web.context.request.async.DeferredResultProcessingInt * @author Rossen Stoyanchev * @since 3.2.5 */ -public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter - implements DeferredResultProcessingInterceptor { +class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor { private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class); @@ -78,7 +76,7 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte @Override public Object handleTimeout(NativeWebRequest request, Callable task) { this.timeoutInProgress = true; - return RESULT_NONE; // give other interceptors a chance to handle the timeout + return RESULT_NONE; // give other interceptors a chance to handle the timeout } @Override @@ -89,26 +87,29 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte private void closeAfterTimeout() { if (this.timeoutInProgress) { logger.debug("Closing Hibernate Session after async request timeout"); - SessionFactoryUtils.closeSession(sessionHolder.getSession()); + SessionFactoryUtils.closeSession(this.sessionHolder.getSession()); } } // Implementation of DeferredResultProcessingInterceptor methods + @Override public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) { } + @Override public void preProcess(NativeWebRequest request, DeferredResult deferredResult) { } + @Override public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) { } @Override public boolean handleTimeout(NativeWebRequest request, DeferredResult deferredResult) { this.timeoutInProgress = true; - return true; // give other interceptors a chance to handle the timeout + return true; // give other interceptors a chance to handle the timeout } @Override diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate3/support/AsyncRequestInterceptor.java b/spring-orm/src/main/java/org/springframework/orm/hibernate3/support/AsyncRequestInterceptor.java index b91643d7f0b1858c3116400de509a8cebdee0f0e..c58f0e01642efa46eb1742f023034040ff30d986 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate3/support/AsyncRequestInterceptor.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate3/support/AsyncRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,8 +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 extends CallableProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor { private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class); @@ -58,6 +57,7 @@ class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter this.sessionHolder = sessionHolder; } + @Override public void preProcess(NativeWebRequest request, Callable task) { bindSession(); @@ -76,7 +76,7 @@ class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter @Override public Object handleTimeout(NativeWebRequest request, Callable task) { this.timeoutInProgress = true; - return RESULT_NONE; // give other interceptors a chance to handle the timeout + return RESULT_NONE; // give other interceptors a chance to handle the timeout } @Override @@ -87,20 +87,29 @@ class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter private void closeAfterTimeout() { if (this.timeoutInProgress) { logger.debug("Closing Hibernate Session after async request timeout"); - SessionFactoryUtils.closeSession(sessionHolder.getSession()); + SessionFactoryUtils.closeSession(this.sessionHolder.getSession()); } } + // Implementation of DeferredResultProcessingInterceptor methods - public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) {} - public void preProcess(NativeWebRequest request, DeferredResult deferredResult) {} - public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) {} + @Override + public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) { + } + + @Override + public void preProcess(NativeWebRequest request, DeferredResult deferredResult) { + } + + @Override + public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) { + } @Override public boolean handleTimeout(NativeWebRequest request, DeferredResult deferredResult) { this.timeoutInProgress = true; - return true; // give other interceptors a chance to handle the timeout + return true; // give other interceptors a chance to handle the timeout } @Override diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java b/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java index dfca554b1279b87150e7cb5a04319e26de903c62..a5d1d9ffae29634baed932b2ab5e5fca8aa0697c 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/support/AsyncRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,6 @@ package org.springframework.orm.jpa.support; - import java.util.concurrent.Callable; import javax.persistence.EntityManagerFactory; @@ -42,8 +41,7 @@ import org.springframework.web.context.request.async.DeferredResultProcessingInt * @author Rossen Stoyanchev * @since 3.2.5 */ -public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter - implements DeferredResultProcessingInterceptor { +class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapter implements DeferredResultProcessingInterceptor { private static final Log logger = LogFactory.getLog(AsyncRequestInterceptor.class); @@ -78,7 +76,7 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte @Override public Object handleTimeout(NativeWebRequest request, Callable task) { this.timeoutInProgress = true; - return RESULT_NONE; // give other interceptors a chance to handle the timeout + return RESULT_NONE; // give other interceptors a chance to handle the timeout } @Override @@ -96,19 +94,22 @@ public class AsyncRequestInterceptor extends CallableProcessingInterceptorAdapte // Implementation of DeferredResultProcessingInterceptor methods + @Override public void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) { } + @Override public void preProcess(NativeWebRequest request, DeferredResult deferredResult) { } + @Override public void postProcess(NativeWebRequest request, DeferredResult deferredResult, Object result) { } @Override public boolean handleTimeout(NativeWebRequest request, DeferredResult deferredResult) { this.timeoutInProgress = true; - return true; // give other interceptors a chance to handle the timeout + return true; // give other interceptors a chance to handle the timeout } @Override diff --git a/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptor.java b/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptor.java index 3adcba96fcd93171bd693c76202f0c5a4902dbe7..638068a388e77cd46e01eb561c0a39a656fed6ae 100644 --- a/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptor.java +++ b/spring-web/src/main/java/org/springframework/web/context/request/async/DeferredResultProcessingInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.web.context.request.async; import org.springframework.web.context.request.NativeWebRequest; @@ -45,21 +46,18 @@ public interface DeferredResultProcessingInterceptor { * Invoked immediately before the start of concurrent handling, in the same * thread that started it. This method may be used to capture state just prior * to the start of concurrent processing with the given {@code DeferredResult}. - * * @param request the current request * @param deferredResult the DeferredResult for the current request * @throws Exception in case of errors */ - void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) throws Exception; + void beforeConcurrentHandling(NativeWebRequest request, DeferredResult deferredResult) throws Exception; /** * Invoked immediately after the start of concurrent handling, in the same * thread that started it. This method may be used to detect the start of * concurrent processing with the given {@code DeferredResult}. - * *

The {@code DeferredResult} may have already been set, for example at * the time of its creation or by another thread. - * * @param request the current request * @param deferredResult the DeferredResult for the current request * @throws Exception in case of errors @@ -71,11 +69,9 @@ public interface DeferredResultProcessingInterceptor { * {@link DeferredResult#setResult(Object)} or * {@link DeferredResult#setErrorResult(Object)}, and is also ready to * handle the concurrent result. - * *

This method may also be invoked after a timeout when the * {@code DeferredResult} was created with a constructor accepting a default * timeout result. - * * @param request the current request * @param deferredResult the DeferredResult for the current request * @param concurrentResult the result to which the {@code DeferredResult} @@ -88,7 +84,6 @@ public interface DeferredResultProcessingInterceptor { * the {@code DeferredResult} has been set. Implementations may invoke * {@link DeferredResult#setResult(Object) setResult} or * {@link DeferredResult#setErrorResult(Object) setErrorResult} to resume processing. - * * @param request the current request * @param deferredResult the DeferredResult for the current request; if the * {@code DeferredResult} is set, then concurrent processing is resumed and @@ -103,7 +98,6 @@ public interface DeferredResultProcessingInterceptor { * Invoked from a container thread when an async request completed for any * reason including timeout and network error. This method is useful for * detecting that a {@code DeferredResult} instance is no longer usable. - * * @param request the current request * @param deferredResult the DeferredResult for the current request * @throws Exception in case of errors