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/03/25 12:26:31 UTC
svn commit: r1581293 - in /tomee/tomee/trunk: pom.xml
tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
Author: rmannibucau
Date: Tue Mar 25 11:26:31 2014
New Revision: 1581293
URL: http://svn.apache.org/r1581293
Log:
TOMEE-1104 using tomcat 7.0.53 to validate regression of 7.0.52 are fixed
Modified:
tomee/tomee/trunk/pom.xml
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
Modified: tomee/tomee/trunk/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1581293&r1=1581292&r2=1581293&view=diff
==============================================================================
--- tomee/tomee/trunk/pom.xml (original)
+++ tomee/tomee/trunk/pom.xml Tue Mar 25 11:26:31 2014
@@ -121,7 +121,7 @@
<jaxb.version>2.2.6</jaxb.version>
- <tomcat.version>7.0.52</tomcat.version>
+ <tomcat.version>7.0.53</tomcat.version>
<!-- used mainly by jetty modules -->
<cxf.version>2.6.13</cxf.version>
@@ -555,6 +555,17 @@
<!--</repository>-->
<!-- Apache snapshots -->
<repository>
+ <id>tomcat-rc</id>
+ <name>Tomcat RC Repository</name>
+ <url>https://repository.apache.org/content/repositories/orgapachetomcat-1010/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
<id>apache-snapshots</id>
<name>Apache Snapshots Repository</name>
<url>http://repository.apache.org/content/groups/snapshots-group</url>
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java?rev=1581293&r1=1581292&r2=1581293&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java Tue Mar 25 11:26:31 2014
@@ -31,8 +31,6 @@ import org.apache.openejb.util.classload
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@@ -52,35 +50,14 @@ public class LazyStopWebappClassLoader e
private ClassLoaderConfigurer configurer = null;
private final int hashCode;
- // ugly but break the whole container in embedded mode at least, tomcat change had a lot of side effect
- private void setj2seClassLoader(final ClassLoader loader) {
- try {
- final Field field = WebappClassLoader.class.getDeclaredField("j2seClassLoader");
-
- if (!field.isAccessible()) {
- field.setAccessible(true);
- }
-
- if (Modifier.isFinal(field.getModifiers())) {
- final Field modifiersField = Field.class.getDeclaredField("modifiers");
- modifiersField.setAccessible(true);
- modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
- }
-
- field.set(this, loader);
- } catch (final Exception e) {
- LOGGER.warning("Can't set field j2seClassLoader");
- }
- }
-
public LazyStopWebappClassLoader() {
- setj2seClassLoader(getSystemClassLoader());
+ j2seClassLoader = getSystemClassLoader();
hashCode = construct();
}
public LazyStopWebappClassLoader(final ClassLoader parent) {
super(parent);
- setj2seClassLoader(getSystemClassLoader());
+ j2seClassLoader = getSystemClassLoader();
hashCode = construct();
}
@@ -108,13 +85,13 @@ public class LazyStopWebappClassLoader e
// don't load them from system classloader (breaks all in embedded mode and no sense in other cases)
synchronized (this) {
final ClassLoader old = j2seClassLoader;
- setj2seClassLoader(NoClassClassLoader.INSTANCE);
+ j2seClassLoader = NoClassClassLoader.INSTANCE;
final boolean delegate = getDelegate();
setDelegate(false);
try {
return super.loadClass(name);
} finally {
- setj2seClassLoader(old);
+ j2seClassLoader = old;
setDelegate(delegate);
}
}