Hi Nicolas,

The dying of session is an event and HttpSessionListener will be get called only if 
certain event happens. The other event is creation of session.
Using HttpSessionBindingListener you can do some thing by making the value bound and 
unbound event happen.

-----Original Message-----
From: Silber zahn Nicolas [mailto:[EMAIL PROTECTED]]
Sent: Thursday, July 18, 2002 2:07 AM
To: [EMAIL PROTECTED]
Subject: HttpSessionBindingListener, HttpSessionListener : Session
already invalidated


Bonjour,

I want to do some cleanup when a session dies. I tried to use
HttpSessionBindingListener and then HttpSessionListener
In both case, my code is called AFTER the session had been invalidated:
nothing can be done with the session anymore: it seems to be useless
functionality
Does anyone knows how to get code called BEFORE the sesion dies?

Cordialement,

Nicolas Silberzahn

Digital Airways
Everywhere <Internet>Technologies</Internet>
www.DigitalAirways.com





o Google said

be aware there is a ">" at the end that belongs to the URL...
http://www.apachelabs.org/tomcat-dev/200202.mbox/<76227803D20F654BA920161144
[EMAIL PROTECTED]>
http://www.apachelabs.org/tomcat-dev/200202.mbox/<20020220103254.B76183-1000
[EMAIL PROTECTED]>
http://w6.metronet.com/~wjm/tomcat/2001/Oct/msg00252.html


o Some test code:


public class MySessionListener implements HttpSessionListener {

        public void sessionCreated(HttpSessionEvent hse) {
                HttpSession session = hse.getSession();


                try {
                session.setAttribute("toto", new MyHttpSessionBindingListener());// so 
it
will be called when the session dies... (i don't remove it explicitly
elsewhere)
                }
                catch (Throwable e)     {
                        // removed error logging here
                        }


        public void sessionDestroyed(HttpSessionEvent hse) {
                HttpSession session = hse.getSession();
                ServletContext application = session.getServletContext();

                // a session. getAttribute throws an exception here: Session already
invalidated
                }

        }

class MyHttpSessionBindingListener implements HttpSessionBindingListener {

public void valueUnbound(HttpSessionBindingEvent hse) {
                HttpSession session = hse.getSession();
                ServletContext application = session.getServletContext();
                System.out.println("valueUnbound");

                Object o = session.getAttribute("Caddy"); // a session. getAttribute
throws an exception here: Session already invalidated
                // cleanup here...
        }

public void valueBound(HttpSessionBindingEvent hse) {
        }

}

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".

Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html

Reply via email to