Hi Alexander, I'm sorry but I don't work for Google (however I did stay at a Holiday Inn Express last night) so I can't write it in the docs this information and I don't know that it's documented anywhere. Also note that the _ah_SESSION table does not remove expired sessions, you will need to clean up this yourself. Stephen
On Mon, Nov 22, 2010 at 12:43 PM, Alexander Arendar < [email protected]> wrote: > Hi Stephen, > > Would also be great if you write such limitations somewhere in the > documentation. > Or maybe it is already described but I missed the link. In such case please > drop the link. > > Sincerely, > Alex > > On Mon, Nov 22, 2010 at 8:39 PM, Stephen Johnson > <[email protected]>wrote: > >> From what I know you don't get sessionDestroyed. I believe there's a >> couple of issues with notification of a destroyed session and the most >> significant one would be that there's no guarantee that an instance of your >> application will even be running (1.4.0 will allow reserved instances but >> that isn't out yet.) Other issues would be that since this is a distributed >> environment which instance should receive sessionDestroyed. GAE would have >> to implement this one their backend. I believe sessions currently are just >> created by the Servlet Context of an instance when necessary and that >> instance's sessionCreated is the one that is executed. >> >> You however can query the _ah_SESSION table to see if a given session is >> still active or has expired. >> >> >> On Mon, Nov 22, 2010 at 9:32 AM, Sergiy Arendar <[email protected]>wrote: >> >>> Hi, I have a problem: >>> In my application I'm using HttpSessionListener to manage sessions. >>> Here is the class: >>> >>> package com.sergiyarendar.listeners; >>> >>> import java.util.logging.Logger; >>> import javax.servlet.http.HttpSessionEvent; >>> import javax.servlet.http.HttpSessionListener; >>> import com.sergiyarendar.services.CounterService; >>> >>> public class SessionListener implements HttpSessionListener{ >>> private static final Logger log = >>> Logger.getLogger(SessionListener.class.getName()); >>> private static int sessionNumber; >>> public void sessionCreated(HttpSessionEvent se){ >>> log.info("Session Created"); >>> sessionNumber = CounterService.getSessionNumber(); >>> sessionNumber++; >>> CounterService.setSessionNumber(sessionNumber); >>> } >>> public void sessionDestroyed(HttpSessionEvent se){ >>> log.info("Session Destroyed"); >>> sessionNumber = CounterService.getSessionNumber(); >>> sessionNumber--; >>> CounterService.setSessionNumber(sessionNumber); >>> } >>> } >>> >>> This is what I have in web.xml file: >>> >>> <listener> >>> >>> <listener-class>com.sergiyarendar.listeners.SessionListener</listener- >>> class> >>> </listener> >>> >>> The problem is that public void sessionCreated(HttpSessionEvent se) >>> method is invoked if a new session is created, BUT public void >>> sessionDestroyed(HttpSessionEvent se) method is never invoked. I'm >>> setting the timeout for the sessions using setMaxInactiveInterval(120) >>> method when the session begin. >>> >>> Can anyone say me what is the problem? Is it a GAE bug, or some thing >>> is wrong with my code? Please, it is very important, becouse whithout >>> sessionDestroyed() method I can't do any tasks of session management >>> when the session is destroyed. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Google App Engine for Java" group. >>> To post to this group, send email to >>> [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<google-appengine-java%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/google-appengine-java?hl=en. >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine for Java" group. >> To post to this group, send email to >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<google-appengine-java%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/google-appengine-java?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-appengine-java%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
