Hello Denis,
Try doing this:
session = request.getSession(true);
System.out.println("session = request.getSession(false);\t" +
session.hashCode());
System.out.println("session = " + session);
session.invalidate();
System.out.println("session.invalidate();\t" + session.hashCode());
System.out.println("session = " + session);
session = request.getSession(true);
System.out.println("session = request.getSession();\t" +
session.hashCode());
System.out.println("session = " + session);
That way you'll get a new session after the session is invalidated.
The problem arises because the session object that is associated with
the request object is the invalidated one until you create a new
session, either by a new hit in the page/servlet or by using
request.getSession(true).
Tuesday, September 18, 2001, 9:44:52 AM, you wrote:
DK> Hello everyone!
DK> I think I have found bug in orion 1.5.2.
DK> There is problem with sessions. When I invalidate session and then get new
DK> session, sometimes (not always) I get same invalidated session.
DK> Does anybody have same problem? Any solution except that I remove all data
DK> from session?
DK> Thanks in advance.
DK> Here is code that demonstrates bug:
DK> session = request.getSession(true);
DK> System.out.println("session = request.getSession(false);\t" +
DK> session.hashCode());
DK> System.out.println("session = " + session);
DK> session.invalidate();
DK> System.out.println("session.invalidate();\t" + session.hashCode());
DK> System.out.println("session = " + session);
DK> session = request.getSession();
DK> System.out.println("session = request.getSession();\t" +
DK> session.hashCode());
DK> System.out.println("session = " + session);
DK> Orion's output:
DK> session = request.getSession(); 2935133
DK> session = HTTP Session AKAEMHOGAJOD
DK> session.invalidate(); 2935133
DK> session = HTTP Session AKAEMHOGAJOD
DK> session = request.getSession(); 2935133
DK> session = HTTP Session AKAEMHOGAJOD
DK> Exception is
DK> java.lang.IllegalStateException: Session was invalidated
DK> at com.evermind.server.http.EvermindHttpSession.setAttribute(Unknown
DK> Source)
DK> at
DK> isvu.kadrovska.web.command.LoginCommand.execute(LoginCommand.java:161)
DK> at isvu.kadrovska.web.Kadrovska.doPost(Kadrovska.java:183)
DK> at javax.servlet.http.HttpServlet.service(HttpServlet.java:211)
DK> at javax.servlet.http.HttpServlet.service(HttpServlet.java:309)
DK> at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
DK> at com.evermind._cxb._abe(Unknown Source)
DK> at com.evermind._cxb._uec(Unknown Source)
DK> at com.evermind._io._twc(Unknown Source)
DK> at com.evermind._io._gc(Unknown Source)
DK> at com.evermind._if.run(Unknown Source)
Best regards,
Rafael mailto:[EMAIL PROTECTED]