From: markt Date: Mon, 22 Mar 2010 13:18:31 +0000 (+0000) Subject: Fire listeners in reverse order for requestDestroyed X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=f0c6be02ec9f4d90e8649f3ad00205f1a208b5ff;p=tomcat7.0 Fire listeners in reverse order for requestDestroyed git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@926064 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/core/StandardContextValve.java b/java/org/apache/catalina/core/StandardContextValve.java index 4ddc07bb3..f47132bfb 100644 --- a/java/org/apache/catalina/core/StandardContextValve.java +++ b/java/org/apache/catalina/core/StandardContextValve.java @@ -202,17 +202,18 @@ final class StandardContextValve (instances.length > 0)) { // create post-service event for (int i = 0; i < instances.length; i++) { - if (instances[i] == null) + int j = (instances.length -1) -i; + if (instances[j] == null) continue; - if (!(instances[i] instanceof ServletRequestListener)) + if (!(instances[j] instanceof ServletRequestListener)) continue; ServletRequestListener listener = - (ServletRequestListener) instances[i]; + (ServletRequestListener) instances[j]; try { listener.requestDestroyed(event); } catch (Throwable t) { container.getLogger().error(sm.getString("standardContext.requestListener.requestDestroy", - instances[i].getClass().getName()), t); + instances[j].getClass().getName()), t); ServletRequest sreq = request.getRequest(); sreq.setAttribute(Globals.EXCEPTION_ATTR,t); }