In order to avoid this problem report getting lost, *please* report it in
our bug tracking system:

  http://nagoya.apache.org/bugzilla/

Craig McClanahan


On Thu, 4 Oct 2001, Scott Ahten wrote:

> Date: Thu, 04 Oct 2001 10:14:21 -0400
> From: Scott Ahten <[EMAIL PROTECTED]>
> Reply-To: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> Subject: Tomcat 4.0 - HttpSessionListener lockup in sessionDestroyed()
>
> I'm noticing some strange behaviour with a class that implements
> HttpSessionListener and is registered in my apps webapp.xml file as a
> listener.
>
> When I call session.getAttribute("xxx") on a session passed into
> sessionDestroyed() the thread seems to lock.
>
> I've simplified my class as a test case and it never makes it to the
> System.out.println("attribute shown") statement.
>
> I'm running tomcat 4.0 final on windows 2k. I've received the same
> results on both jdk 1.3.1 and 1.4 beta.
>
> My test includes two JSP pages: one sets a value in the session, another
> calls session.invalidate().
>
> output from stdout.log and class definition are included bellow.
>
> Thanks in advance....
>
> ~Scott
>
> output from stdout.log
> ----
> Create Catalina server
> Starting service Tomcat-Standalone
> Apache Tomcat/4.0
> ServletContext Initialized
> Starting service Tomcat-Apache
> Apache Tomcat/4.0
> Session Created <-- click on populateSession.jsp
> attribute added
> Session Destroyed <- click on invalidateSession.jsp
>                              <- execution stops before showing attribute
> value
> ----
>
>
>
> import java.util.*;
> import javax.servlet.*;
> import javax.servlet.http.*;
>
> public class LoggingController implements ServletContextListener,
> HttpSessionListener
> {
>
>     public LoggingController()
>     {
>         // System.out.println("LoggingController constructed");
>     }
>
>     public void contextInitialized(ServletContextEvent sce)
>     {
>         System.out.println("ServletContext Initialized");
>     }
>
>     public void contextDestroyed(ServletContextEvent sce)
>     {
>             System.out.println("ServletContext Destroyed");
>     }
>
>     public void sessionCreated(HttpSessionEvent hse)
>     {
>         System.out.println("Session Created");
>
>                 HttpSession session = hse.getSession();
>                 session.setAttribute("name", "scott");
>
>                 // execution makes it here ok
>                 System.out.println("attribute added");
>     }
>
>
>     public void sessionDestroyed(HttpSessionEvent hse)
>     {
>         System.out.println("Session Destroyed");
>
>         HttpSession session = hse.getSession();
>
>         // seems to hang up on the following line
>         System.out.println(session.getAttribute("name"));
>
>        System.out.println("attribute shown");
>     }
> }
>
>
>
>

Reply via email to