protected void createInvalidationFile ( ) { final String methodName = "createInvalidationFile()" ; final File f = new File ( invalidationFileName ) ; final CacheOnDisk cod = this ; traceDebug ( methodName , "cacheName=" + this . cacheName + " valueSet=" + cod . valueSet . size ( ) ) ; AccessController . doPrivileged ( new PrivilegedAction ( ) { public Object run ( ) { FileOutputStream fos = null ; ObjectOutputStream oos = null ; try { fos = new FileOutputStream ( f ) ; oos = new ObjectOutputStream ( fos ) ; oos . writeInt ( cod . valueSet . size ( ) ) ; Iterator it = valueSet . iterator ( ) ; while ( it . hasNext ( ) ) { Object entryId = it . next ( ) ; oos . writeObject ( entryId ) ; } } catch ( Throwable t1 ) { com . ibm . ws . ffdc . FFDCFilter . processException ( t1 , "com.ibm.ws.cache.CacheOnDisk.createInvalidationFile" , "1106" , cod ) ; traceDebug ( methodName , "cacheName=" + cod . cacheName + "\nException: " + ExceptionUtility . getStackTrace ( t1 ) ) ; } finally { try { oos . close ( ) ; fos . close ( ) ; } catch ( Throwable t2 ) { com . ibm . ws . ffdc . FFDCFilter . processException ( t2 , "com.ibm.ws.cache.CacheOnDisk.createInvalidationFile" , "1113" , cod ) ; traceDebug ( methodName , "cacheName=" + cod . cacheName + "\nException: " + ExceptionUtility . getStackTrace ( t2 ) ) ; } } return null ; } } ) ; }
Call this method to create invalidation file to offload the invalidation cache ids . When the server is restarted the invalidation cache ids are read back . The LPBT will be called to remove these cache ids from the disk .