@Contract(threading=SAFE) public class ManagedHttpCacheStorage extends Object implements HttpCacheStorage, Closeable
 HttpCacheStorage implementation capable of deallocating resources associated with
 the cache entries.
 
 This cache keeps track of cache entries using
 PhantomReference and maintains a collection of all resources that
 are no longer in use. The cache, however, does not automatically deallocates associated
 resources by invoking Resource.dispose() method. The consumer MUST periodically
 call cleanResources() method to trigger resource deallocation. The cache can be
 permanently shut down using shutdown() method. All resources associated with
 the entries used by the cache will be deallocated.
 
 This HttpCacheStorage implementation is intended for use with FileResource
 and similar.
 
 Compatibility note. Prior to version 4.4 this storage implementation used to dispose of
 all resource entries upon close(). As of version 4.4 the close() method
 disposes only of those resources that have been explicitly removed from the cache with
 removeEntry(String) method.
 
 The shutdown() ()} method can still be used to shut down the storage and dispose of
 all resources currently managed by it.
 
| Constructor and Description | 
|---|
| ManagedHttpCacheStorage(CacheConfig config) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | cleanResources() | 
| void | close() | 
| Map<String,HttpCacheEntry> | getEntries(Collection<String> keys)Retrieves multiple cache entries stored under the given keys. | 
| HttpCacheEntry | getEntry(String url)Retrieves the cache entry stored under the given key
 or null if no entry exists under that key. | 
| void | putEntry(String url,
        HttpCacheEntry entry)Store a given cache entry under the given key. | 
| void | removeEntry(String url)Deletes/invalidates/removes any cache entries currently
 stored under the given key. | 
| void | shutdown() | 
| void | updateEntry(String url,
           HttpCacheCASOperation casOperation)Atomically applies the given callback to processChallenge an existing cache
 entry under a given key. | 
public ManagedHttpCacheStorage(CacheConfig config)
public void putEntry(String url, HttpCacheEntry entry) throws ResourceIOException
HttpCacheStorageputEntry in interface HttpCacheStorageurl - where in the cache to store the entryentry - cached response to storeResourceIOExceptionpublic HttpCacheEntry getEntry(String url) throws ResourceIOException
HttpCacheStoragegetEntry in interface HttpCacheStorageurl - cache keyHttpCacheEntry or null if no
   entry existsResourceIOExceptionpublic void removeEntry(String url) throws ResourceIOException
HttpCacheStorageremoveEntry in interface HttpCacheStorageResourceIOExceptionpublic void updateEntry(String url, HttpCacheCASOperation casOperation) throws ResourceIOException
HttpCacheStorageupdateEntry in interface HttpCacheStorageurl - indicates which entry to modifycasOperation - the CAS operation to perform.ResourceIOExceptionpublic Map<String,HttpCacheEntry> getEntries(Collection<String> keys) throws ResourceIOException
HttpCacheStoragegetEntries in interface HttpCacheStoragekeys - cache keysHttpCacheEntrys.ResourceIOExceptionpublic void cleanResources()
public void shutdown()
public void close()
close in interface Closeableclose in interface AutoCloseableCopyright © 1999–2021 The Apache Software Foundation. All rights reserved.