2 Replies Latest reply on Sep 9, 2008 8:43 AM by nimo stephan

    Seam Session.invalidate does not destroy HTTPSession

    nimo stephan Master

      I have found out, that when I destroy a SEAM-Session (org.jboss.seam.web.session), then my HttpSessionListener does NOT detect that the HTTPSession is now invalidated.

      That means the HTTPSession (looks like 6FBAFE3502E89...) still outlives (!?).

      Only when I explicity destroy the HTTPSession (or a session timeout occurs),
      the Listener tells me, that the Session is really destroyed.

      However, SEAM does forbid to destroy a HTTPSession directly:

      Session event listener threw exception
      java.lang.IllegalStateException: Please end the HttpSession via org.jboss.seam.web.Session.instance().invalidate()
           at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:221)
           at org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:129)
           at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:49)

      Why? What is the difference between HTTPSession and SEAMSession?