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 <[EMAIL PROTECTED]>
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);
+ }
+ }
}
+
}