I guess it *might* be helpful to tell you you need an entry in web.xml for this...
<listener> <listener-class>company.app.MySessionListener </listener-class> </listener> Yeah, that might help ;) -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com On Mon, July 25, 2005 12:58 pm, Frank W. Zammetti said: > SessionListener is what you want. > > Here's an example from one of my apps (condensed for space)... it is used > to delete a temporary PDF that may have been generated for the user when > they log off: > > import company.app.User; > import javax.servlet.http.HttpSession; > import javax.servlet.http.HttpSessionEvent; > import javax.servlet.http.HttpSessionListener; > public class MySessionListener implements HttpSessionListener { > public synchronized void sessionCreated(HttpSessionEvent se) { > } > public synchronized void sessionDestroyed(HttpSessionEvent se) { > HttpSession sess = se.getSession(); > User user = (User)sess.getAttribute("user"); > String userID = user.getUserID(); > AppHelpers.deletePDF(userID); > } > } > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > > On Mon, July 25, 2005 12:47 pm, Daniel Perry said: >> I have an app where i need to record key user stats, which are updated >> by >> certain struts actions. The problem is that i want to keep these in the >> session, and then only save them to the database when the session is >> either >> invalidated through logout, or when it times out and is removed by the >> server. It doesnt matter if some stats are lost through crashes, server >> restarts, etc. >> >> I cant see an obvious way to find out when sessions are destroyed. >> >> Would it be possible to have a class called stats, which is put into the >> session, and override the finalize method, so that this writes to the >> database the calls super.finalize? Would this work? >> >> If i make this serializable, what happens if the server decides to >> remove >> this session after writing to disk - does it just delete the file, or >> does >> it reserialize it and call finalize? >> >> Thanks, >> >> Daniel. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]