- From: Augusto Sellhorn <asellhor@ccd.harris.com>
- Date: Thu, 15 Jul 1999 09:17:29 -0400 (EDT)
- To: www-jigsaw@w3.org
HttpSession.setMaxInactiveInterval() is acting weird because ./org/w3c/jigsaw/servlet/JigsawHttpSessionContext.java should be 90: long maxinterval = (maxinactiveinterval > 0) ? maxinactiveinterval * 1000 : maxidle; Right now, max inactive interval is being interpreted as milliseconds, whereas the JSDK 2.1 spec specifies that it is in seconds. I don't know about maxidle , seems like an internal Jigsaw parameter to me ... Hopefully somebody could make the change to the source code whenever possible :) Augusto Augusto Sellhorn wrote: > > My configuration is Jigsaw 2.0.2 , JSDK 2.1, JDK 1.1.6 (AIX) and NS 4.5 > > My sessions objects are being nuked every 30 seconds. It doesn't matter > what value I set for setMaxInactiveInterval() , every 30 seconds, it > creates a new session object. > > Also, why are my session objects being killed ? I thought since the > session is being used (reg.getSession()) that should keep the session > alive ? > > Here's a sample servlet to test this behavior. Use the servlet and > hit shit-reload every second or so. You'll see that the session dies > even though you're using it every second. > > <pre> > +================================== > import java.io.*; > import java.util.*; > import javax.servlet.*; > import javax.servlet.http.*; > > public class TestSession extends HttpServlet > { > static Vector history = new Vector(); > > public void doGet(HttpServletRequest req, HttpServletResponse > res) > throws ServletException, IOException > { > HttpSession session = req.getSession(true); > if (session.isNew()) > history.addElement("Session " + session.getId() + " > created " + > new Date(session.getCreationTime())); > res.setContentType("text/html"); > PrintWriter out= res.getWriter(); > > session.setMaxInactiveInterval(10); > > out.println("<title>TestSession</title><html><pre>Here > is your session information : <br>"); > out.println("<br>= SESSION > ============================================"); > if (session.isNew()) out.println("<br><B>***** NEW > SESSION *****</B>"); > out.println("<br>Session : " + session ); > out.println("<br>ID : " + session.getId()); > out.println("<br>Created : " + new > Date(session.getCreationTime())); > out.println("<br>Accessed: " + new > Date(session.getLastAccessedTime())); > out.println("<br>Inactive: " + > session.getMaxInactiveInterval() + " seconds."); > out.println("<br>isNew : " + session.isNew()); > if (session.isNew()) out.println("<br><br><B>***** > NEW SESSION *****</B>"); > > out.println("<br><br>Session creation History;"); > Enumeration e = history.elements(); > while (e.hasMoreElements()) > out.println((String)e.nextElement()); > > out.println("<br>======================================================"); > > out.println("</pre></html>"); > } > } > +================================== > </pre> > > Here's some sample output > > +================================ > > Here is your session information : > > = SESSION ============================================ > ***** NEW SESSION ***** > Session : org.w3c.jigsaw.servlet.JigsawHttpSession@603437d > ID : J-40105124-63 > Created : Wed Jul 14 11:56:38 EDT 1999 > Accessed: Wed Jul 14 11:56:38 EDT 1999 > Inactive: 10 seconds. > isNew : true > ***** NEW SESSION ***** > Session creation History; > Session J-40411524-59 created Wed Jul 14 11:51:31 EDT 1999 > Session J-40383748-60 created Wed Jul 14 11:51:59 EDT 1999 > Session J-40353662-61 created Wed Jul 14 11:52:29 EDT 1999 > Session J-40323644-62 created Wed Jul 14 11:52:59 EDT 1999 > Session J-40105124-63 created Wed Jul 14 11:56:38 EDT 1999 > ======================================================
Received on Thursday, 15 July 1999 09:18:58 UTC