void removeManager ( CacheManager cm ) { synchronized ( getLockObject ( ) ) { Map < String , CacheManager > _name2managers = loader2name2manager . get ( cm . getClassLoader ( ) ) ; _name2managers = new HashMap < String , CacheManager > ( _name2managers ) ; Object _removed = _name2managers . remove ( cm . getName ( ) ) ; Map < ClassLoader , Map < String , CacheManager > > _copy = new WeakHashMap < ClassLoader , Map < String , CacheManager > > ( loader2name2manager ) ; _copy . put ( cm . getClassLoader ( ) , _name2managers ) ; loader2name2manager = _copy ; if ( cm . isDefaultManager ( ) ) { Map < ClassLoader , String > _defaultNameCopy = new WeakHashMap < ClassLoader , String > ( loader2defaultName ) ; _defaultNameCopy . remove ( cm . getClassLoader ( ) ) ; loader2defaultName = _defaultNameCopy ; } } }
Called from the manager after a close . Removes the manager from the known managers .