Author: musachy
Date: Tue Jul 14 23:44:43 2009
New Revision: 794116

URL: http://svn.apache.org/viewvc?rev=794116&view=rev
Log:
Make the class reloading implementation work with convention. (use the 
reloading class loader when an instance is requested using the class name)

Modified:
    
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
    
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java

Modified: 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java?rev=794116&r1=794115&r2=794116&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
 (original)
+++ 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
 Tue Jul 14 23:44:43 2009
@@ -209,4 +209,8 @@
 
     public void onStop(FilesystemAlterationObserver 
filesystemAlterationObserver) {
     }
+
+    public ReloadingClassLoader getReloadingClassLoader() {
+        return classLoader;
+    }
 }

Modified: 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java?rev=794116&r1=794115&r2=794116&view=diff
==============================================================================
--- 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 (original)
+++ 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 Tue Jul 14 23:44:43 2009
@@ -92,10 +92,15 @@
         if ("true".equals(devMode)
                 && StringUtils.isNotBlank(watchList)
                 && appContext instanceof 
ClassReloadingXMLWebApplicationContext) {
+            //prevent class caching
+            useClassCache = false;
+
             ClassReloadingXMLWebApplicationContext reloadingContext = 
(ClassReloadingXMLWebApplicationContext) appContext;
             reloadingContext.setupReloading(watchList.split(","), 
acceptClasses, servletContext);
             LOG.info("Class reloading is enabled. Make sure this is not used 
on a production environment!", watchList);
 
+            setClassLoader(reloadingContext.getReloadingClassLoader());
+
             //we need to reload the context, so our isntance of the factory is 
picked up
             reloadingContext.refresh();
         }


Reply via email to