You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2018/03/14 08:07:22 UTC
svn commit: r1826700 -
/tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
Author: markt
Date: Wed Mar 14 08:07:22 2018
New Revision: 1826700
URL: http://svn.apache.org/viewvc?rev=1826700&view=rev
Log:
Fix backport. Java 6 does not have ReflectiveOperationException
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java?rev=1826700&r1=1826699&r2=1826700&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java Wed Mar 14 08:07:22 2018
@@ -3049,21 +3049,31 @@ public abstract class WebappClassLoaderB
Class<?> clazz = Class.forName("java.io.ObjectStreamClass$Caches");
clearCache(clazz, "localDescs");
clearCache(clazz, "reflectors");
- } catch (ReflectiveOperationException e) {
- log.warn(sm.getString(
- "webappClassLoader.clearObjectStreamClassCachesFail", getContextName()), e);
} catch (SecurityException e) {
log.warn(sm.getString(
"webappClassLoader.clearObjectStreamClassCachesFail", getContextName()), e);
} catch (ClassCastException e) {
log.warn(sm.getString(
"webappClassLoader.clearObjectStreamClassCachesFail", getContextName()), e);
+ } catch (IllegalArgumentException e) {
+ log.warn(sm.getString(
+ "webappClassLoader.clearObjectStreamClassCachesFail", getContextName()), e);
+ } catch (NoSuchFieldException e) {
+ log.warn(sm.getString(
+ "webappClassLoader.clearObjectStreamClassCachesFail", getContextName()), e);
+ } catch (IllegalAccessException e) {
+ log.warn(sm.getString(
+ "webappClassLoader.clearObjectStreamClassCachesFail", getContextName()), e);
+ } catch (ClassNotFoundException e) {
+ log.warn(sm.getString(
+ "webappClassLoader.clearObjectStreamClassCachesFail", getContextName()), e);
}
}
- private void clearCache(Class<?> target, String mapName)
- throws ReflectiveOperationException, SecurityException, ClassCastException {
+ private void clearCache(Class<?> target, String mapName) throws SecurityException,
+ ClassCastException, NoSuchFieldException, IllegalArgumentException,
+ IllegalAccessException {
Field f = target.getDeclaredField(mapName);
f.setAccessible(true);
Map<?,?> map = (Map<?,?>) f.get(null);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org