Class ManagedHttpCacheStorage

java.lang.Object
org.apache.http.impl.client.cache.ManagedHttpCacheStorage
All Implemented Interfaces:
Closeable, AutoCloseable, HttpCacheStorage

@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.

Since:
4.1