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]

Reply via email to