craigmcc    01/07/12 12:42:13

  Modified:    catalina/src/share/org/apache/catalina/session
                        LocalStrings.properties StandardManager.java
  Log:
  Log exception messages (with stack traces) when IOException or ClassNotFound-
  Exception is encountered when unloading sessions to SESSIONS.ser, or reloading
  them after a restart.
  
  Currently, such errors are silently ignored.  This can cause problems like the
  one reported in Bugzilla #2380, where the SESSIONS.ser file was created but
  with zero length.  This could happen, for example, if a non-serializable
  session attribute was being processed -- the NotSerializableException would
  get silently swallowed and no remaining sessions would be saved.
  
  Revision  Changes    Path
  1.9       +3 -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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- LocalStrings.properties   2001/07/10 22:08:25     1.8
  +++ LocalStrings.properties   2001/07/12 19:42:04     1.9
  @@ -24,9 +24,12 @@
   standardManager.alreadyStarted=Manager has already been started
   standardManager.createSession.ise=createSession: Too many active sessions
   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}
   standardManager.notStarted=Manager has not yet been started
   standardManager.sessionTimeout=Invalid session timeout setting {0}
   standardManager.unloading=Saving persisted sessions to {0}
  +standardManager.unloading.ioe=IOException while saving persisted sessions: {0}
   standardManager.managerLoad=Exception loading sessions from persistent storage
   standardManager.managerUnload=Exception unloading sessions to persistent storage
   standardSession.attributeEvent=Session attribute event listener threw exception
  
  
  
  1.12      +9 -4      
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.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- StandardManager.java      2001/06/22 22:03:35     1.11
  +++ StandardManager.java      2001/07/12 19:42:06     1.12
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
 1.11 2001/06/22 22:03:35 jon Exp $
  - * $Revision: 1.11 $
  - * $Date: 2001/06/22 22:03:35 $
  + * $Header: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
 1.12 2001/07/12 19:42:06 craigmcc Exp $
  + * $Revision: 1.12 $
  + * $Date: 2001/07/12 19:42:06 $
    *
    * ====================================================================
    *
  @@ -106,7 +106,7 @@
    * <code>stop()</code> methods of this class at the correct times.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.11 $ $Date: 2001/06/22 22:03:35 $
  + * @version $Revision: 1.12 $ $Date: 2001/07/12 19:42:06 $
    */
   
   public class StandardManager
  @@ -387,6 +387,7 @@
                   log("No persisted data file found");
               return;
           } catch (IOException e) {
  +            log(sm.getString("standardManager.loading.ioe", e), e);
               if (ois != null) {
                   try {
                       ois.close();
  @@ -413,6 +414,7 @@
                       ((StandardSession) session).activate();
                   }
               } catch (ClassNotFoundException e) {
  +              log(sm.getString("standardManager.loading.cnfe", e), e);
                   if (ois != null) {
                       try {
                           ois.close();
  @@ -423,6 +425,7 @@
                   }
                   throw e;
               } catch (IOException e) {
  +              log(sm.getString("standardManager.loading.ioe", e), e);
                   if (ois != null) {
                       try {
                           ois.close();
  @@ -476,6 +479,7 @@
               fos = new FileOutputStream(file.getAbsolutePath());
               oos = new ObjectOutputStream(new BufferedOutputStream(fos));
           } catch (IOException e) {
  +            log(sm.getString("standardManager.unloading.ioe", e), e);
               if (oos != null) {
                   try {
                       oos.close();
  @@ -503,6 +507,7 @@
                       session.writeObjectData(oos);
                   }
               } catch (IOException e) {
  +                log(sm.getString("standardManager.unloading.ioe", e), e);
                   if (oos != null) {
                       try {
                           oos.close();
  
  
  

Reply via email to