Author: markt
Date: Wed Apr 16 14:21:47 2014
New Revision: 1587917
URL: http://svn.apache.org/r1587917
Log:
Partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=56390
Fixes locking of JARs that do not contain TLDs.
Modified:
tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=1587917&r1=1587916&r2=1587917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Wed
Apr 16 14:21:47 2014
@@ -42,6 +42,7 @@ webappClassLoader.stackTrace=Stack trace
webappClassLoader.stackTraceRequestThread=Stack trace of request processing
thread "{0}":{1}
webappClassLoader.stopThreadFail=Failed to terminate thread named [{0}] for
web application [{1}]
webappClassLoader.stopTimerThreadFail=Failed to terminate TimerThread named
[{0}] for web application [{1}]
+webappClassLoader.superCloseFail=Failure calling close() on super class
webappClassLoader.validationErrorJarPath=Unable to validate JAR entry with
name {0}
webappClassLoader.warnRequestThread=The web application [{0}] is still
processing a request that has yet to finish. This is very likely to create a
memory leak. You can control the time allowed for requests to finish by using
the unloadDelay attribute of the standard Context implementation.
webappClassLoader.warnThread=The web application [{0}] appears to have started
a thread named [{1}] but has failed to stop it. This is very likely to create a
memory leak.
Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1587917&r1=1587916&r2=1587917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Wed Apr
16 14:21:47 2014
@@ -1503,6 +1503,13 @@ public class WebappClassLoader extends U
@Override
public void destroy() {
+ state = LifecycleState.DESTROYING;
+
+ try {
+ super.close();
+ } catch (IOException ioe) {
+ log.warn(sm.getString("webappClassLoader.superCloseFail"), ioe);
+ }
state = LifecycleState.DESTROYED;
}
Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java?rev=1587917&r1=1587916&r2=1587917&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappLoader.java Wed Apr 16
14:21:47 2014
@@ -444,8 +444,11 @@ public class WebappLoader extends Lifecy
// Throw away our current class loader
if (classLoader != null) {
- classLoader.stop();
- classLoader.destroy();
+ try {
+ classLoader.stop();
+ } finally {
+ classLoader.destroy();
+ }
}
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]