I did a little more debugging, but didn't have any luck figuring out what's going on. The only other interesting information that I was able to find was this: when the login page shows me the session id, and the ExternalContext returns me null, and I wait for a while, then eventually get a session from the EC, it's giving me the same session that Tomcat created and I printed out on the login page. So this session was created and I was able to display the session, but the EC didn't seem to get it for a little while. Any idea why there is a delay like this after I do a session.invalidate?

Thanks,
   Jesse


Jesse Vitrone wrote:

I'm having some problems with my login page. When a user tries to log in, I try to grab the session and use it for some stuff like this:

           FacesContext fc = FacesContext.getCurrentInstance();
           ExternalContext ec = fc.getExternalContext();
           HttpSession httpSession = (HttpSession) ec.getSession(true);
           httpSessionId = httpSession.getId();

And in my logout.jsp, I simple kill the users session with:

         session.invalidate();

This seems to work fine, but if I go to log back in quickly, the ec.getSession(true) call returns null. I can try a few times, and I keep getting back null. If I wait for a little while, then try again, I get back the session as I expect. Any idea what's going on, and why I get back null for a little while?

I tried printing out the session id on my login jsp, just to make sure that Tomcat was actually giving me a new session directly after logout, and it is. So after logout, I'm printing out a session id, and it's different that the first one from when I logged in the first time, but then I submit my form, and the ExternalContext is returning me null.
Any ideas?


Thanks,
   Jesse





.




Reply via email to