HttpSessionEvent event = new HttpSessionEvent(getSession());
for (int i = 0; i < listeners.length; i++) {
int j = (listeners.length - 1) - i;
if (! (listeners[j] instanceof HttpSessionListener))
continue;
HttpSessionListener listener = (HttpSessionListener) listeners[j];
try {
fireContainerEvent(context,"beforeSessionDestroyed", listener);
listener.sessionDestroyed(event);
fireContainerEvent(context,"afterSessionDestroyed", listener);
} catch (Throwable t) {
try {
fireContainerEvent(context,"afterSessionDestroyed", listener);
} catch (Exception e) {