You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/08/10 22:21:08 UTC
svn commit: r1617152 - in
/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina:
TomEEWebappClassLoader.java TomEEWebappLoader.java
Author: rmannibucau
Date: Sun Aug 10 20:21:07 2014
New Revision: 1617152
URL: http://svn.apache.org/r1617152
Log:
tomcat now checks classloading state, just using a boolean matching our delayed lifecycle, can be enhanced if needed later to match tomcat state
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java?rev=1617152&r1=1617151&r2=1617152&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappClassLoader.java Sun Aug 10 20:21:07 2014
@@ -63,6 +63,7 @@ public class TomEEWebappClassLoader exte
private ClassLoaderConfigurer configurer;
private final int hashCode;
private Collection<File> additionalRepos;
+ private volatile boolean stopped = false;
public TomEEWebappClassLoader() {
hashCode = construct();
@@ -171,6 +172,13 @@ public class TomEEWebappClassLoader exte
return !"org.apache.tomee.mojarra.TomEEInjectionProvider".equals(name) && URLClassLoaderFirst.shouldSkip(name);
}
+ @Override
+ protected void checkStateForClassLoading(final String className) throws ClassNotFoundException {
+ if (stopped) { // keep same error than parent
+ super.checkStateForClassLoading(className);
+ }
+ }
+
public void internalStop() throws LifecycleException {
if (getState().isAvailable()) {
// reset classloader because of tomcat classloaderlogmanager
@@ -182,6 +190,7 @@ public class TomEEWebappClassLoader exte
} finally {
Thread.currentThread().setContextClassLoader(loader);
}
+ stopped = true;
}
}
@@ -258,6 +267,8 @@ public class TomEEWebappClassLoader exte
if (configurerTxt != null) {
configurer = new CompositeClassLoaderConfigurer(configurer, configurerTxt);
}
+
+ stopped = false;
}
public void addURL(final URL url) {
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java?rev=1617152&r1=1617151&r2=1617152&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEWebappLoader.java Sun Aug 10 20:21:07 2014
@@ -65,10 +65,7 @@ public class TomEEWebappLoader extends W
@Override
public boolean modified() {
- if (SKIP_BACKGROUND_PROCESS) {
- return false;
- }
- return super.modified();
+ return !SKIP_BACKGROUND_PROCESS && super.modified();
}
@Override