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/05/04 02:03:44 UTC

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

Author: reinhard
Date: Thu May  3 17:03:43 2007
New Revision: 535033

URL: http://svn.apache.org/viewvc?view=rev&rev=535033
Log:
make the usage of the spring app context reload configureable

Modified:
    cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/pom.xml
    cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/CocoonReloadingListener.java
    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/pom.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/pom.xml?view=diff&rev=535033&r1=535032&r2=535033
==============================================================================
--- cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/pom.xml (original)
+++ cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/pom.xml Thu May  3 17:03:43 2007
@@ -116,7 +116,7 @@
     <!-- Repository for the commons-jci -->
     <repository>
       <id>apache-m2-snapshot</id>
-      <name>Apache Maven 1 Repository</name>
+      <name>Apache Maven 2 Repository</name>
       <url>http://people.apache.org/repo/m2-snapshot-repository</url>
       <releases>
         <enabled>true</enabled>

Modified: cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/CocoonReloadingListener.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/CocoonReloadingListener.java?view=diff&rev=535033&r1=535032&r2=535033
==============================================================================
--- cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/CocoonReloadingListener.java (original)
+++ cocoon/trunk/tools/cocoon-rcl/cocoon-rcl-webapp-wrapper/src/main/java/org/apache/cocoon/tools/rcl/wrapper/servlet/CocoonReloadingListener.java Thu May  3 17:03:43 2007
@@ -53,13 +53,13 @@
 
         if(changedFileParentPath.endsWith("META-INF/cocoon/spring") ||              // global Spring beans configurations
                 changedFileParentPath.endsWith("config/avalon") ||                  // global Avalon components
-//                changedFilePath.endsWith(".xmap") ||                                // any file that ends with xmap (sitemaps)
-//                changedFilePath.endsWith(".xmap.xml") ||                            // any sitemap that ends with xmap.xml (sitemaps)
-                changedFilePath.endsWith(".class") ||                         // Java class file change
+                changedFilePath.endsWith(".xmap") ||                                // any file that ends with xmap (sitemaps)
+                changedFilePath.endsWith(".xmap.xml") ||                            // any sitemap that ends with xmap.xml (sitemaps)
+                changedFilePath.endsWith(".class") ||                               // Java class file change
                 changedFileParentPath.endsWith("config/spring")                     // local Spring bean configurations
            ) {                
             log.debug("Configuration or .class file change detected [" + operation + "]: " + changedFile);
-//            System.out.println("Configuration or .class file change detected [" + operation + "]: " + changedFile);
+            System.out.println("RCL [" + operation + "]: " + changedFile);
             reload = true;
         } else {
             log.debug("Other file change detected, no reload [" + operation + "]: " + changedFile);  // any other file change

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=535033&r1=535032&r2=535033
==============================================================================
--- 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 Thu May  3 17:03:43 2007
@@ -18,6 +18,7 @@
 
 import java.io.IOException;
 import java.lang.reflect.Method;
+import java.util.Properties;
 
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
@@ -39,16 +40,17 @@
 public class ReloadingSpringFilter implements Filter {
     
     private final Log log = LogFactory.getLog(ReloadingSpringFilter.class);    
+    
+    private static final String WEB_INF_RCLWRAPPER_PROPERTIES = "/WEB-INF/cocoon/rclwrapper.properties";         
 
     private FilterConfig config;
 
     public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) throws IOException,
             ServletException {
         
-        if(CocoonReloadingListener.isReload()) {
+        if(isReloadingEnabled() && CocoonReloadingListener.isReload()) {
             synchronized (this) {        
                 log.info("Performing a reload of the Spring application context.");
-                System.out.println("Performing a reload of the Spring application context.");                
                 // load the spring context loader from the reloading classloader
                 ClassLoader cl = ReloadingClassloaderManager.getClassLoader(config.getServletContext());
                 Object reloader = null;
@@ -74,6 +76,13 @@
 
     public void init(FilterConfig filterConfig) throws ServletException {
         this.config = filterConfig;
+    }
+    
+    private boolean isReloadingEnabled() throws IOException {
+        Properties rclProps = new Properties();
+        rclProps.load(this.config.getServletContext().getResourceAsStream(WEB_INF_RCLWRAPPER_PROPERTIES));
+        String reloadingEnabled = rclProps.getProperty("reloading.spring.enabled", "true");
+        return reloadingEnabled.trim().toLowerCase().equals("true");
     }
  
 }