public int updateExpirationTime ( Object id , long oldExpirationTime , int size , long newExpirationTime , long newValidatorExpirationTime ) { final String methodName = "updateExpirationTime()" ; int returnCode = NO_EXCEPTION ; Exception diskException = null ; // update the disk entry header only with new validator expiration time for now. if ( tc . isDebugEnabled ( ) ) Tr . debug ( tc , methodName , "cacheName=" + this . cacheName + " id=" + id + " newValidatorExpirationTime=" + newValidatorExpirationTime ) ; try { rwLock . writeLock ( ) . lock ( ) ; object_cache . updateExpirationInHeader ( id , newExpirationTime , newValidatorExpirationTime ) ; } catch ( FileManagerException ex ) { this . diskCacheException = ex ; diskException = ex ; returnCode = DISK_EXCEPTION ; } catch ( HashtableOnDiskException ex ) { this . diskCacheException = ex ; diskException = ex ; returnCode = DISK_EXCEPTION ; } catch ( IOException ex ) { diskException = ex ; if ( ex . getMessage ( ) . equals ( DISK_CACHE_IN_GB_OVER_LIMIT_MSG ) ) { returnCode = DISK_SIZE_OVER_LIMIT_EXCEPTION ; } else { this . diskCacheException = ex ; returnCode = DISK_EXCEPTION ; } } catch ( Exception ex ) { returnCode = OTHER_EXCEPTION ; diskException = ex ; } finally { rwLock . writeLock ( ) . unlock ( ) ; if ( returnCode != NO_EXCEPTION && returnCode != NO_EXCEPTION_ENTRY_OVERWRITTEN ) { if ( tc . isDebugEnabled ( ) ) Tr . debug ( tc , methodName , "cacheName=" + this . cacheName + "\n Exception: " + ExceptionUtility . getStackTrace ( diskException ) ) ; } if ( returnCode == DISK_EXCEPTION || returnCode == OTHER_EXCEPTION ) { com . ibm . ws . ffdc . FFDCFilter . processException ( diskException , "com.ibm.ws.cache.HTODDynacache.writeCacheEntry" , "1239" , this ) ; } } return returnCode ; }
Since the real expiration time does not change the GC will be updated .