4Features 25
4.1 Fast and Light Weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....... 27
4.1.1 Fast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.1.2 Simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.1.3 Small foot print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... 28
4.1.4 Minimal dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... 28
4.2 Scalable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... 28
4.2.1 Provides Memory and Disk stores for scalabilty into gigabytes . . . . . . . . . . . 28
4.2.2 Scalable to hundreds of caches . . . . . . . . . . . . . . . . . . . . ........ 28
4.2.3 Tuned for high concurrent load on large multi-cpu servers . . . . . . . . . . . . . 28
4.2.4 Multiple CacheManagers per virtual machine . . . . . . . . ............ 28
4.3 Flexible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .... 28
4.3.1 Supports Object or Serializable caching . . . . . . . . . . . ............ 28
4.3.2 Support cache-wide or Element-based expiry policies ................ 29
4.3.3 Provides LRU, LFU and FIFO cache eviction policies . . . ............ 29
4.3.4 Provides Memory and Disk stores . . . . . . . . . . . . . . . . . . . ....... 29
4.3.5 Distributed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 29
4.4 Standards Based . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... 29
4.4.1 Full implementation of JSR107 JCACHE API . . . . . . . . . . . ......... 29
4.5 Extensible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... 29
4.5.1 Listeners may be plugged in . . . . . . . . . . . . . . . . . . . . . . . ...... 29
4.5.2 Peer Discovery, Replicators and Listeners may be plugged in . . . . . . . . . . . . 29
4.5.3 Cache Extensions may be plugged in . . . . . . . . . . . . . . . . . ....... 30
4.5.4 Cache Loaders may be plugged in . . . . . . . . . . . . . . . . . . . . ...... 30
4.5.5 Cache Exception Handlers may be plugged in . . . . . . . . . . .......... 30
4.6 Application Persistence . . . . . . . . . . . . . . . . . . . . . . . . . . .......... 30
4.6.1 Persistent disk store which stores data between VM restarts . . . . . . . . . . . . 30
4.6.2 Flush to disk on demand . . . . . . . . . . . . . . . . . . . . . . . . . . . .... 30
4.7 Listeners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... 30
4.7.1 CacheManager listeners . . . . . . . . . . . . . . . . . . . . . . . . . ...... 30
4.7.2 Cache event listeners . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... 30
4.8 JMX Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 31
4.9 Distributed Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........ 31
4.9.1 Support for replication via RMI or JGroups . . . . . . . . . . ........... 31
4.9.2 Peer Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 31
4.9.3 Reliable Delivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..... 31
4.9.4 Synchronous Or Asynchronous Replication . . . . . . . . . . ........... 31
4.9.5 Copy Or Invalidate Replication . . . . . . . . . . . . . . . . . . . ........ 31
4.9.6 Transparent Replication . . . . . . . . . . . . . . . . . . . . . . . . ....... 31
4.9.7 Extensible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 32
2