Version 2.0 of Ehcache open source caching solution claims to deliver the enterprise-class capabilities of high priced and proprietary technologies like Oracle Coherence without requiring application changes.
The 2.0 release provides a number of new features that simplify development effort, testing and scale-out, such as an express mode that easily clusters application data via configuration changes, whether it is in Hibernate, a distributed cache, or session objects. Other enhancements in this release include a series of enterprise features that better integrate Ehcache with the database, such as JTA for transactions, and data write-behind to increase performance while avoiding database bottlenecks.
The release provides snap-in scale for applications developed with Grails, a popular framework for rapid development of business applications. Scale-out for Grails is achieved with simple configuration changes and no code changes using Terracotta Web Sessions, Ehcache and Quartz Job Scheduler clustering. Support for OSGi containers is also included, allowing developers building applications with next-generation application servers to build their applications from the start with a clear path to scale-out as user demand grows.
New Ehcache 2.0 Feature Details
Ehcache provides a simple caching API for building high-performance data caches, and serves as a plug-in cache for Hibernate, the object/relational persistence and query service.
Easier configuration – Ehcache now supports fully-coherent distributed caching as a Hibernate Second-Level Cache, as well as directly through the Ehcache API, using one common jar file that is JVM vendor-agnostic. Switching between local and distributed implementations is done with a simple configuration change, and without the need for Java agents or boot jars.
Write-behind – A new Ehcache API supports write-behind caching with guaranteed asynchronous batching of updates to the database that reduces database load and improves application latency.
JTA – New JTA support enables Ehcache to participate as a XA resource in transactions coordinated by a transaction manager alongside other XA resources like databases and message queues.
Fast loading – Optimized bulk-loading enables fast cache warming and rapid application start-up.
Management – A new management feature provides dynamic configuration for Ehcache, whereby cache parameters like TTI and TTL can be changed on the fly via the Terracotta management console or any JMX-compliant tool.