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