/** * Frees all remote caches. * <p> * @throws IOException */ @Override public void release() throws IOException { for (CacheListeners<K, V> cacheDesc : cacheListenersMap.values()) { ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, 0 ); for ( int i = 0; i < qlist.length; i++ ) { qlist[i].addDisposeEvent(); } } cacheManager.release(); }
/** * @param cacheName * @param requesterId * @throws IOException */ private void processDispose( String cacheName, long requesterId ) throws IOException { if ( log.isInfoEnabled() ) { log.info( "Dispose request received from listener [" + requesterId + "]" ); } CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName ); // this is dangerous if ( cacheDesc != null ) { // best attempt to achieve ordered free-cache-op and notification. synchronized ( cacheDesc ) { ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId ); for ( int i = 0; i < qlist.length; i++ ) { qlist[i].addDisposeEvent(); } cacheManager.freeCache( cacheName ); } } }
/** * @param cacheName * @param requesterId * @throws IOException */ private void processDispose( String cacheName, long requesterId ) throws IOException { if ( log.isInfoEnabled() ) { log.info( "Dispose request received from listener [" + requesterId + "]" ); } CacheListeners<K, V> cacheDesc = cacheListenersMap.get( cacheName ); // this is dangerous if ( cacheDesc != null ) { // best attempt to achieve ordered free-cache-op and notification. synchronized ( cacheDesc ) { ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId ); for ( int i = 0; i < qlist.length; i++ ) { qlist[i].addDisposeEvent(); } cacheManager.freeCache( cacheName ); } } }
/** * Frees all remote caches. * <p> * @throws IOException */ @Override public void release() throws IOException { synchronized ( cacheListenersMap ) { for (CacheListeners<K, V> cacheDesc : cacheListenersMap.values()) { ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, 0 ); for ( int i = 0; i < qlist.length; i++ ) { qlist[i].addDisposeEvent(); } } cacheManager.release(); } }
ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId );
ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId ); if ( log.isDebugEnabled() )
ICacheEventQueue<K, V>[] qlist = getEventQList( cacheDesc, requesterId ); if ( log.isDebugEnabled() )