OSCache is a widely used, high performance J2EE caching framework. In addition to it's servlet-specific features, OSCache can be used as a generic caching solution for any Java application. A few of its generic features include:
Caching of Arbitrary Objects - You are not restricted to caching portions of JSP pages or HTTP requests. Any Java object can be cached.
Comprehensive API - The OSCache API gives you full programmatic control over all of OSCache's features.
Persistent Caching - The cache can optionally be disk-based, thereby allowing expensive-to-create data to remain cached even across application restarts.
Clustering - Support for clustering of cached data can be enabled with a single configuration parameter. No code changes required.
Expiry of Cache Entries - You have a huge amount of control over how cached objects expire, including pluggable RefreshPolicies if the default functionality does not meet your requirements.