You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2013/04/26 08:24:11 UTC
svn commit: r1476062 - in
/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher:
Dispatcher.java ng/filter/StrutsPrepareAndExecuteFilter.java
ng/filter/StrutsPrepareFilter.java ng/listener/StrutsListener.java
ng/servlet/StrutsServlet.java
Author: lukaszlenart
Date: Fri Apr 26 06:24:11 2013
New Revision: 1476062
URL: http://svn.apache.org/r1476062
Log:
WW-4058 Adds new method to cleanup after Dispatcher initialisation
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/listener/StrutsListener.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/servlet/StrutsServlet.java
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=1476062&r1=1476061&r2=1476062&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java Fri Apr 26 06:24:11 2013
@@ -815,6 +815,7 @@ public class Dispatcher {
* @see org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper
*/
public void cleanUpRequest(HttpServletRequest request) {
+ ContainerHolder.clear();
if (!(request instanceof MultiPartRequestWrapper)) {
return;
}
@@ -895,7 +896,15 @@ public class Dispatcher {
}
}
-
+ /**
+ * Cleanup any resources used to initialise Dispatcher
+ */
+ public void cleanUpAfterInit() {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Cleaning up resources used to init Dispatcher");
+ }
+ ContainerHolder.clear();
+ }
/**
* Provide an accessor class for static XWork utility.
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java?rev=1476062&r1=1476061&r2=1476062&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareAndExecuteFilter.java Fri Apr 26 06:24:11 2013
@@ -45,10 +45,11 @@ public class StrutsPrepareAndExecuteFilt
public void init(FilterConfig filterConfig) throws ServletException {
InitOperations init = new InitOperations();
+ Dispatcher dispatcher = null;
try {
FilterHostConfig config = new FilterHostConfig(filterConfig);
init.initLogging(config);
- Dispatcher dispatcher = init.initDispatcher(config);
+ dispatcher = init.initDispatcher(config);
init.initStaticContentLoader(config, dispatcher);
prepare = new PrepareOperations(filterConfig.getServletContext(), dispatcher);
@@ -57,6 +58,9 @@ public class StrutsPrepareAndExecuteFilt
postInit(dispatcher, filterConfig);
} finally {
+ if (dispatcher != null) {
+ dispatcher.cleanUpAfterInit();
+ }
init.cleanup();
}
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java?rev=1476062&r1=1476061&r2=1476062&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/filter/StrutsPrepareFilter.java Fri Apr 26 06:24:11 2013
@@ -44,16 +44,20 @@ public class StrutsPrepareFilter impleme
public void init(FilterConfig filterConfig) throws ServletException {
InitOperations init = new InitOperations();
+ Dispatcher dispatcher = null;
try {
FilterHostConfig config = new FilterHostConfig(filterConfig);
init.initLogging(config);
- Dispatcher dispatcher = init.initDispatcher(config);
+ dispatcher = init.initDispatcher(config);
prepare = new PrepareOperations(filterConfig.getServletContext(), dispatcher);
this.excludedPatterns = init.buildExcludedPatternsList(dispatcher);
postInit(dispatcher, filterConfig);
} finally {
+ if (dispatcher != null) {
+ dispatcher.cleanUpAfterInit();
+ }
init.cleanup();
}
}
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/listener/StrutsListener.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/listener/StrutsListener.java?rev=1476062&r1=1476061&r2=1476062&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/listener/StrutsListener.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/listener/StrutsListener.java Fri Apr 26 06:24:11 2013
@@ -20,8 +20,6 @@
*/
package org.apache.struts2.dispatcher.ng.listener;
-import org.apache.struts2.ServletActionContext;
-import org.apache.struts2.StrutsConstants;
import org.apache.struts2.StrutsStatics;
import org.apache.struts2.dispatcher.Dispatcher;
import org.apache.struts2.dispatcher.ng.InitOperations;
@@ -41,15 +39,19 @@ public class StrutsListener implements S
public void contextInitialized(ServletContextEvent sce) {
InitOperations init = new InitOperations();
+ Dispatcher dispatcher = null;
try {
ListenerHostConfig config = new ListenerHostConfig(sce.getServletContext());
init.initLogging(config);
- Dispatcher dispatcher = init.initDispatcher(config);
+ dispatcher = init.initDispatcher(config);
init.initStaticContentLoader(config, dispatcher);
prepare = new PrepareOperations(config.getServletContext(), dispatcher);
sce.getServletContext().setAttribute(StrutsStatics.SERVLET_DISPATCHER, dispatcher);
} finally {
+ if (dispatcher != null) {
+ dispatcher.cleanUpAfterInit();
+ }
init.cleanup();
}
}
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/servlet/StrutsServlet.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/servlet/StrutsServlet.java?rev=1476062&r1=1476061&r2=1476062&view=diff
==============================================================================
--- struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/servlet/StrutsServlet.java (original)
+++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/ng/servlet/StrutsServlet.java Fri Apr 26 06:24:11 2013
@@ -46,15 +46,19 @@ public class StrutsServlet extends HttpS
@Override
public void init(ServletConfig filterConfig) throws ServletException {
InitOperations init = new InitOperations();
+ Dispatcher dispatcher = null;
try {
ServletHostConfig config = new ServletHostConfig(filterConfig);
init.initLogging(config);
- Dispatcher dispatcher = init.initDispatcher(config);
+ dispatcher = init.initDispatcher(config);
init.initStaticContentLoader(config, dispatcher);
prepare = new PrepareOperations(filterConfig.getServletContext(), dispatcher);
execute = new ExecuteOperations(filterConfig.getServletContext(), dispatcher);
} finally {
+ if (dispatcher != null) {
+ dispatcher.cleanUpAfterInit();
+ }
init.cleanup();
}
}