public void valueWasRemoved ( DCache cache , Object id ) { //final String methodName = "valueWasRemoved()"; if ( UNIT_TEST_INACTIVITY ) { System . out . println ( "valueWasRemoved() - entry" ) ; } ExpirationMetaData expirationMetaData = ( ExpirationMetaData ) cacheInstancesTable . get ( cache ) ; if ( expirationMetaData == null ) { return ; } synchronized ( expirationMetaData ) { InvalidationTask it = ( InvalidationTask ) expirationMetaData . expirationTable . remove ( id ) ; if ( it != null ) { expirationMetaData . timeLimitHeap . delete ( it ) ; it . reset ( ) ; taskPool . add ( it ) ; //traceDebug(methodName, "cacheName=" + cache.cacheName + " id=" + id + " expirationTableSize=" + expirationMetaData.expirationTable.size() + " timeLimitHeapSize=" + expirationMetaData.timeLimitHeap.size()); } } }
This notifies this daemon that an entry has removed It removes the entry from the internal tables .