Author: andygumbrecht
Date: Wed Apr 30 13:18:59 2014
New Revision: 1591286

URL: http://svn.apache.org/r1591286
Log:
Patch from Romain for https://issues.apache.org/jira/browse/TOMEE-1187

Modified:
    
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
    
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ProvisioningWebappLoader.java

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java?rev=1591286&r1=1591285&r2=1591286&view=diff
==============================================================================
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
 Wed Apr 30 13:18:59 2014
@@ -34,6 +34,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -69,6 +70,7 @@ public abstract class UpdatableTomEEMojo
     protected void run() {
         if (synchronization != null) {
             initSynchronization(synchronization);
+                       avoidAutoReload();
         }
         if (synchronizations != null) {
             for (final Synch s : synchronizations) {
@@ -77,6 +79,7 @@ public abstract class UpdatableTomEEMojo
                     continue;
                 }
                 initSynch(s);
+                               avoidAutoReload();
             }
         }
 
@@ -91,7 +94,16 @@ public abstract class UpdatableTomEEMojo
         super.run();
     }
 
-    private void initSynch(final AbstractSynchronizable s) {
+       private void avoidAutoReload() {
+               if (systemVariables == null) {
+                       systemVariables = new HashMap<String, String>();
+               }
+               if 
(!systemVariables.containsKey("tomee.classloader.backgroundProcess")) {
+                       
systemVariables.put("tomee.classloader.backgroundProcess", "true");
+               }
+       }
+
+       private void initSynch(final AbstractSynchronizable s) {
         s.getExtensions().addAll(s.getUpdateOnlyExtenions());
         if (reloadOnUpdate) {
             deployOpenEjbApplication = true;

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ProvisioningWebappLoader.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ProvisioningWebappLoader.java?rev=1591286&r1=1591285&r2=1591286&view=diff
==============================================================================
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ProvisioningWebappLoader.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ProvisioningWebappLoader.java
 Wed Apr 30 13:18:59 2014
@@ -25,6 +25,7 @@ import org.apache.openejb.classloader.Cl
 import org.apache.openejb.classloader.CompositeClassLoaderConfigurer;
 import org.apache.openejb.config.QuickJarsTxtParser;
 import org.apache.openejb.loader.ProvisioningUtil;
+import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.reflection.Reflections;
 
 import java.io.File;
@@ -45,8 +46,14 @@ import java.io.File;
  *
  */
 public class ProvisioningWebappLoader extends VirtualWebappLoader {
+       private static final boolean SKIP_BACKGROUND_PROCESS = 
"true".equals(SystemInstance.get().getProperty("tomee.classloader.backgroundProcess",
 "true"));
+
     @Override
     public void backgroundProcess() {
+               if (SKIP_BACKGROUND_PROCESS) {
+                       return;
+               }
+
         final ClassLoader classloader = super.getClassLoader();
         if (classloader instanceof LazyStopWebappClassLoader) {
             final LazyStopWebappClassLoader lazyStopWebappClassLoader = 
(LazyStopWebappClassLoader) classloader;
@@ -61,7 +68,12 @@ public class ProvisioningWebappLoader ex
         }
     }
 
-    @Override
+       @Override
+       public boolean modified() {
+               return !SKIP_BACKGROUND_PROCESS;
+       }
+
+       @Override
     protected void startInternal() throws LifecycleException {
         // standard tomcat part
         final StringBuilder builder = new StringBuilder();


Reply via email to