You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2006/12/22 19:31:02 UTC
svn commit: r489716 - in /cocoon/trunk/core:
cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/
cocoon-core/src/main/java/org/apache/cocoon/
cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/avalon/
cocoon-co...
Author: cziegeler
Date: Fri Dec 22 10:31:02 2006
New Revision: 489716
URL: http://svn.apache.org/viewvc?view=rev&rev=489716
Log:
Use Spring's request cleanup mechanism
Removed:
cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/ProcessingUtil.java
Modified:
cocoon/trunk/core/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/DispatcherServlet.java
cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/avalon/PoolableFactoryBean.java
cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java
cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java
Modified: cocoon/trunk/core/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/DispatcherServlet.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/DispatcherServlet.java?view=diff&rev=489716&r1=489715&r2=489716
==============================================================================
--- cocoon/trunk/core/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/DispatcherServlet.java (original)
+++ cocoon/trunk/core/cocoon-blocks-fw/cocoon-blocks-fw-impl/src/main/java/org/apache/cocoon/blocks/DispatcherServlet.java Fri Dec 22 10:31:02 2006
@@ -32,7 +32,6 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.avalon.framework.logger.Logger;
-import org.apache.cocoon.ProcessingUtil;
import org.apache.cocoon.core.container.spring.avalon.AvalonUtils;
import org.springframework.beans.BeanWrapperImpl;
import org.springframework.beans.factory.BeanFactoryUtils;
@@ -124,11 +123,7 @@
" pathInfo=" + request.getPathInfo());
}
- try {
- servlet.service(request, res);
- } finally {
- ProcessingUtil.cleanup();
- }
+ servlet.service(request, res);
}
private void getInterfaces(Set interfaces, Class clazz) {
Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/avalon/PoolableFactoryBean.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/avalon/PoolableFactoryBean.java?view=diff&rev=489716&r1=489715&r2=489716
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/avalon/PoolableFactoryBean.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/core/container/spring/avalon/PoolableFactoryBean.java Fri Dec 22 10:31:02 2006
@@ -28,13 +28,14 @@
import java.util.Set;
import org.apache.avalon.excalibur.pool.Recyclable;
-import org.apache.cocoon.ProcessingUtil;
import org.apache.cocoon.configuration.Settings;
import org.apache.cocoon.configuration.impl.PropertyHelper;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.FactoryBean;
+import org.springframework.web.context.request.RequestAttributes;
+import org.springframework.web.context.request.RequestContextHolder;
/**
* This factory bean adds simple pooling support to Spring.
@@ -324,7 +325,7 @@
}
}
- protected static final class ProxyHandler implements InvocationHandler, ProcessingUtil.CleanupTask {
+ protected static final class ProxyHandler implements InvocationHandler, Runnable {
private final ThreadLocal componentHolder = new ThreadLocal();
private final PoolableFactoryBean handler;
@@ -343,7 +344,7 @@
}
if ( this.componentHolder.get() == null ) {
this.componentHolder.set(this.handler.getFromPool());
- ProcessingUtil.addCleanupTask(this);
+ RequestContextHolder.getRequestAttributes().registerDestructionCallback(ProxyHandler.class.getName() + '/' + this.handler.hashCode(), this, RequestAttributes.SCOPE_REQUEST);
}
try {
return method.invoke(this.componentHolder.get(), args);
@@ -353,9 +354,9 @@
}
/**
- * @see ProcessingUtil.CleanupTask#invoke()
+ * @see java.lang.Runnable#run()
*/
- public void invoke() {
+ public void run() {
try {
final Object o = this.componentHolder.get();
this.handler.putIntoPool(o);
Modified: cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java?view=diff&rev=489716&r1=489715&r2=489716
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java (original)
+++ cocoon/trunk/core/cocoon-core/src/main/java/org/apache/cocoon/servlet/RequestProcessor.java Fri Dec 22 10:31:02 2006
@@ -28,7 +28,6 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.cocoon.ConnectionResetException;
import org.apache.cocoon.Constants;
-import org.apache.cocoon.ProcessingUtil;
import org.apache.cocoon.Processor;
import org.apache.cocoon.RequestListener;
import org.apache.cocoon.ResourceNotFoundException;
@@ -404,13 +403,8 @@
} finally {
EnvironmentHelper.leaveProcessor();
environment.finishingProcessing();
- this.cleanup();
EnvironmentHelper.checkEnvironment(environmentDepth, this.getLogger());
}
- }
-
- protected void cleanup() {
- ProcessingUtil.cleanup();
}
}
Modified: cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java?view=diff&rev=489716&r1=489715&r2=489716
==============================================================================
--- cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java (original)
+++ cocoon/trunk/core/cocoon-core/src/test/java/org/apache/cocoon/SitemapTestCase.java Fri Dec 22 10:31:02 2006
@@ -228,7 +228,6 @@
} finally {
EnvironmentHelper.leaveProcessor();
environment.finishingProcessing();
- ProcessingUtil.cleanup();
EnvironmentHelper.checkEnvironment(environmentDepth, this.getLogger());
}