remm        2003/08/26 07:18:54

  Modified:    catalina/src/share/org/apache/catalina/session
                        StandardManager.java StandardSession.java
  Log:
  - Revert my previous fix. I think it could cause sessions to not be invalidated
    properly.
  - Instead, don't check for validity when activating and passivating.
  
  Revision  Changes    Path
  1.13      +6 -8      
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardManager.java
  
  Index: StandardManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardManager.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- StandardManager.java      26 Aug 2003 14:11:04 -0000      1.12
  +++ StandardManager.java      26 Aug 2003 14:18:54 -0000      1.13
  @@ -449,10 +449,8 @@
                       StandardSession session = getNewSession();
                       session.readObjectData(ois);
                       session.setManager(this);
  -                    if (session.isValid()) {
  -                        sessions.put(session.getId(), session);
  -                        session.activate();
  -                    }
  +                    sessions.put(session.getId(), session);
  +                    session.activate();
                   }
               } catch (ClassNotFoundException e) {
                 log.error(sm.getString("standardManager.loading.cnfe", e), e);
  
  
  
  1.21      +18 -6     
jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java
  
  Index: StandardSession.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/session/StandardSession.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- StandardSession.java      19 Aug 2003 00:49:58 -0000      1.20
  +++ StandardSession.java      26 Aug 2003 14:18:54 -0000      1.21
  @@ -731,7 +731,7 @@
           HttpSessionEvent event = null;
           String keys[] = keys();
           for (int i = 0; i < keys.length; i++) {
  -            Object attribute = getAttribute(keys[i]);
  +            Object attribute = getAttributeInternal(keys[i]);
               if (attribute instanceof HttpSessionActivationListener) {
                   if (event == null)
                       event = new HttpSessionEvent(this);
  @@ -753,7 +753,7 @@
           HttpSessionEvent event = null;
           String keys[] = keys();
           for (int i = 0; i < keys.length; i++) {
  -            Object attribute = getAttribute(keys[i]);
  +            Object attribute = getAttributeInternal(keys[i]);
               if (attribute instanceof HttpSessionActivationListener) {
                   if (event == null)
                       event = new HttpSessionEvent(this);
  @@ -1571,6 +1571,18 @@
           String results[] = new String[0];
           synchronized (attributes) {
               return ((String[]) attributes.keySet().toArray(results));
  +        }
  +
  +    }
  +
  +
  +    /**
  +     * Return the value of an attribute without a check for validity.
  +     */
  +    private Object getAttributeInternal(String name) {
  +
  +        synchronized (attributes) {
  +            return (attributes.get(name));
           }
   
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to