You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2007/03/10 14:36:36 UTC

svn commit: r516708 - /cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingSpringFilter.java

Author: reinhard
Date: Sat Mar 10 05:36:35 2007
New Revision: 516708

URL: http://svn.apache.org/viewvc?view=rev&rev=516708
Log:
add debugging stuff for now

Modified:
    cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingSpringFilter.java

Modified: cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingSpringFilter.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingSpringFilter.java?view=diff&rev=516708&r1=516707&r2=516708
==============================================================================
--- cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingSpringFilter.java (original)
+++ cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/ReloadingSpringFilter.java Sat Mar 10 05:36:35 2007
@@ -27,8 +27,12 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.core.io.DefaultResourceLoader;
 import org.springframework.web.context.ContextLoader;
 import org.springframework.web.context.WebApplicationContext;
+import org.springframework.web.context.support.WebApplicationContextUtils;
+import org.springframework.web.context.support.XmlWebApplicationContext;
 
 /**
  * This servlet filter reloads the Spring application context whenever a relevant change in the
@@ -57,15 +61,25 @@
                     throw new ServletException("Cannot load class " + ContextLoader.class.getName(), e);
                 }
                 
+                ApplicationContext oldAc = WebApplicationContextUtils.getRequiredWebApplicationContext(this.config.getServletContext());
+                this.log.debug("Old application context: " + oldAc);
+                Object o = oldAc.getBean("global-bean");
+                this.log.debug("o[old]: " + o.toString());                
+                
                 // close old Spring application context
                 springContextLoader.closeWebApplicationContext(this.config.getServletContext());
                 this.config.getServletContext().removeAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
 
                 // create the new Spring application context
-                springContextLoader.initWebApplicationContext(this.config.getServletContext());
+                XmlWebApplicationContext xac = (XmlWebApplicationContext) springContextLoader.initWebApplicationContext(this.config.getServletContext());
+                DefaultResourceLoader drl = (DefaultResourceLoader) xac;
+                drl.setClassLoader(cl);
+                xac.refresh();
+                Object o1 = xac.getBean("global-bean");
+                this.log.debug("o[new]: " + o1.toString());
                 
                 if(log.isDebugEnabled()) {
-                    log.debug("Reloaded Spring application context.");
+                    log.debug("Reloaded Spring application context: " + xac);
                 }                
             }
         }