Cache Invalidation
There are options like Ehcache, DynaCache and JCS for Invalidation. Before I start understanding and learning the library I would like know which Cache provider I should consider. Any suggestions?
It depends what you are shooting for , in a nutshell
JCS is targeted to boost up dynamic web applications. JCS uses pluggable controller for a cache region(or Composite Cache). The regions are divided into Memory, Disk, Lateral, and Remote
. Regarding faileover,
JCS provides a framework with no point of failure, allowing for full session failover (in clustered environments), including session data across up to 256 servers JCS has a wick nested categorical removal, data expiration (idle time and max life) Extensible framework, fully configurable runtime parameters, and remote synchronization, remote store recovery, Non-blocking "zombie" (balking facade) pattern
Ehcache
Is a java distributed cache for general purpose caching, J2EE and light-weight containers tuned for large size cache objects. It features memory and disk stores, replicate by copy and invalidate, listeners, a gzip caching servlet filter, Fast, Simple.One of its features is to cache domain objects that map to database entities. As the domain objects that maps to database entities is the core of any ORM system that’s why Ehcache is the default cache for HibernateWith Ehcache you can serialize both Serializable objects and Non-serializable.
For more details you can refer here