hi,

i'm having this problem:
1. after x mins of inactivity, user session is invalidated (PersistentManagerBase.processExpires)
2. StandardSession.expire does setValid(false) and expiring=true at the beginning
3. then it calls StandardSession.removeAttribute -> SessionMonitor.valueUnbound -> StandardSession.getCreationTime
4. StandardSession.getCreationTime throws exception because isValid==false
5. this 'kills' PersistentManagerBase thread


this is supposed to be a fix for the problem:
===================================================================
RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardSession.java,v
retrieving revision 1.36
diff -w -b -c -r1.36 StandardSession.java
*** StandardSession.java 29 Apr 2003 21:57:58 -0000 1.36
--- StandardSession.java 17 Nov 2003 12:31:19 -0000
***************
*** 895,901 ****
*/
public long getCreationTime() {


!         if (!isValid)
             throw new IllegalStateException
                 (sm.getString("standardSession.getCreationTime.ise"));

--- 895,902 ----
      */
     public long getCreationTime() {

!       // Validate our current state
!       if (!expiring && !isValid)
         throw new IllegalStateException
             (sm.getString("standardSession.getCreationTime.ise"));


***** CVS exited normally with code 1 *****


regards,
martin


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



Reply via email to