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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org