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);
}
}
}