Yet Another Java Cache ---------------------- http://yajcache.sourceforge.net Currently supports both in jdk1.5 a) soft reference memory-only cache; and b) soft reference memory-file cache with unlimited overflow. Features -------- * zero configuration * zero thread instantiation * minimal memory impact (controlled by GC via SoftReference) * no synchronized block * no synchronized method * minimal synchronization done via distributed (ie keyed) ReadWrite locks with zero synchronization * all unused ReadWrite locks are automatically removed by GC via WeakReference * the cache instance itself (ICache or ICacheSafe) can be used anywhere a map instance can be used * optional ICacheSafe to provide thread-safe objects for cache get/put via either Serializable or Java Bean patterns * Intelligent guess to avoid deep clone whenever possible when ICacheSafe is used * String-only key constraint to avoid mutability issues * Fully parameterized cache value type * junit test cases, including emulation of hard-to-test data race conditions Usage ----- All caches should be retrieved or removed via org.apache.commons.jcs.yajcache.core.CacheManager Pre-requisite ------------- 1) jdk 1.5.0_01+ installed 1) Ant 1.6.2+ installed 2) copy lib/junit-3.8.1.jar to your /lib/ 3) For memory-file cache, the library needs to create a root directory /tmp/yajcache/ and have complete access privilege of everything under it. Build ----- Simply type: ant Alternatively, if you've got NetBeans 4.0, life is even easier. Simply open up the "cache" project folder, and build it. Cheers, Hanson Char hchar@apache.org