DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=18479>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=18479 HttpSessionBindingListener.valueUnbound() not called ------- Additional Comments From [EMAIL PROTECTED] 2004-04-14 05:50 ------- Hi Remy, You are right. valueUnbound() *is* being called. The problem is, my registered SessionAttributeListener isn't being called (and yes, it is registered. I get println() output from attributeAdded()). I added some println() statements to StandardSession to see what was going on and I found something weird; The listeners[] array is null. Here's my debugging output... Apr 14, 2004 12:23:48 AM org.apache.catalina.core.StandardContext reload INFO: Reloading this Context has started JRK... key being removed: KILLER_HELPER JRK... instance of HttpSessionBindingListener? true ServletContainerListener.valueUnbound() called! JRK... listeners are: null Apr 14, 2004 12:23:48 AM org.apache.catalina.logger.LoggerBase stop INFO: unregistering logger Catalina:type=Logger,path=/picoservlet,host=localhost So, it makes sense that I wasn't seeing the println() statements in my attributeRemoved() method since the following code in StandardSession.removeAttributeInternal() can't find the listeners... Context context = (Context) manager.getContainer(); Object listeners[] = context.getApplicationEventListeners(); Here's a patch showing where I added the debugging lines resulting in the above output... Index: catalina/src/share/org/apache/catalina/session/StandardSession.java =================================================================== RCS file: /home/cvspublic/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java,v retrieving revision 1.43 diff -u -r1.43 StandardSession.java --- catalina/src/share/org/apache/catalina/session/StandardSession.java 1 Apr 2004 20:18:15 -0000 1.43 +++ catalina/src/share/org/apache/catalina/session/StandardSession.java 14 Apr 2004 05:26:23 -0000 @@ -1398,6 +1398,8 @@ saveNames.add(keys[i]); saveValues.add(value); } else { + System.out.println("JRK... key being removed: " + keys[i]); + System.out.println("JRK... instance of HttpSessionBindingListener? " + (value instanceof HttpSessionBindingListener)); removeAttribute(keys[i]); } } @@ -1568,6 +1570,7 @@ // Notify interested application event listeners Context context = (Context) manager.getContainer(); Object listeners[] = context.getApplicationEventListeners(); + System.out.println("JRK... listeners are: " + listeners); if (listeners == null) return; for (int i = 0; i < listeners.length; i++) { This is a valid bug, no? Jake --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]