You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2001/09/14 19:48:59 UTC

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session LocalStrings.properties StandardManager.java

craigmcc    01/09/14 10:48:59

  Modified:    catalina/src/share/org/apache/catalina/session
                        LocalStrings.properties StandardManager.java
  Log:
  Catch and log exceptions thrown by session.expire() in the manager's
  expiration thread, to avoid such an exception causing the thread to go
  away.
  
  Submitted by:	David Lecomber <ds...@ts.com>
  
  Revision  Changes    Path
  1.10      +1 -0      jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/LocalStrings.properties
  
  Index: LocalStrings.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/LocalStrings.properties,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- LocalStrings.properties	2001/07/12 19:42:04	1.9
  +++ LocalStrings.properties	2001/09/14 17:48:59	1.10
  @@ -23,6 +23,7 @@
   serverSession.value.iae=null value
   standardManager.alreadyStarted=Manager has already been started
   standardManager.createSession.ise=createSession: Too many active sessions
  +standardManager.expireException=processsExpire:  Exception during session expiration
   standardManager.loading=Loading persisted sessions from {0}
   standardManager.loading.cnfe=ClassNotFoundException while loading persisted sessions: {0}
   standardManager.loading.ioe=IOException while loading persisted sessions: {0}
  
  
  
  1.14      +12 -6     jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java
  
  Index: StandardManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- StandardManager.java	2001/07/22 20:25:12	1.13
  +++ StandardManager.java	2001/09/14 17:48:59	1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v 1.13 2001/07/22 20:25:12 pier Exp $
  - * $Revision: 1.13 $
  - * $Date: 2001/07/22 20:25:12 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v 1.14 2001/09/14 17:48:59 craigmcc Exp $
  + * $Revision: 1.14 $
  + * $Date: 2001/09/14 17:48:59 $
    *
    * ====================================================================
    *
  @@ -106,7 +106,7 @@
    * <code>stop()</code> methods of this class at the correct times.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.13 $ $Date: 2001/07/22 20:25:12 $
  + * @version $Revision: 1.14 $ $Date: 2001/09/14 17:48:59 $
    */
   
   public class StandardManager
  @@ -746,9 +746,15 @@
                   continue;
               int timeIdle = // Truncate, do not round up
                   (int) ((timeNow - session.getLastAccessedTime()) / 1000L);
  -            if (timeIdle >= maxInactiveInterval)
  -                session.expire();
  +            if (timeIdle >= maxInactiveInterval) {
  +                try {
  +                    session.expire();
  +                } catch (Throwable t) {
  +                    log(sm.getString("standardManager.expireException"), t);
  +                }
  +            }
           }
  +
       }