Class 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