オープンソースのキャッシング フレームワークである Ehcache の最新バージョンは、Java Transaction API (JTA)を使って write-behindキャッシングとトランザクション管理をサポートする。また Hibernate 3.3キャッシング プラグイン、クラスタ化キャッシュのためのBulk Loading API 、そして実行時のキャッシュの再設定もサポートする。
Ehcache 2.0は、 write-through と write-behindキャッシングを導入した。 write-throughキャッシングパターンは、土台的なリソース(例えば、データベース)に書き込む元になるキャッシュに、データを書き込むアプリケーションによって使用される。キャッシュが、 土台的なリソースのファサードのように振舞う。write-behindキャッシングパターンは、同じクライアントAPIを使っているが、書き込みは、非同期に起きる。 write-behind キャッシング フィーチャは、新しい Ehcache APIの一部としてサポートされているが、データベースへのアップデートを非同期に、一括処理で行う。
トランザクション管理:新しい JTA サポート により、キャッシュは、JTAトランザクションにおけるXAリソースとして参加できる。自動的に以下の トランザクション マネージャを順に検知して、使う: Generic JNDI (例えばGlassfish, JBoss, Weblogic, JTOM), WebSphere, Bitronix JTA Transaction Manager、そして Atomikos。Ehcache 2.0は、Hibernate目的の「トランザクション対応の」キャッシュではない。Ehcache 2.1 (最近、ベータバージョンがリリースされた)は、HibernateへのJTAサポートを提供する。
Ehcache 2.0 は、また、アプリケーションデータをクラスタ化するのに使用される高速モードを持っている。データが、 Hibernate、分散キャッシュ、あるいは、セッションオブジェクトにあるかで、設定変更を行い、 クラスタ化を行っている。Hibernateの第2レベルのキャッシュとして、分散キャッシングおよび、直接 Ehcache APIを介するキャッシングをサポートしている。新バージョンに含まれる他のフィーチャには:
- Bulk Loading: bulk loadingモードは、Terracotta Server Arrayを使って、データをキャッシュにロードするのに使われる。このオプションは、キャッシュ警告のようなユースケースに使われる。この場合、キャッシュは、アプリケーションをオンラインにする前に、定期的な一括ローディングのために、キャッシュを一杯にしておく必要がある。
- 設定管理: 新しい管理フィーチャにより Ehcacheは、動的に設定が行える。Time-To-Idle (TTI) や Time-To-Live (TTL)のようなキャッシュパラメータを Terracottaの管理コンソールや JMX対応ツールを使って変更できる。
- Web セッション: Terracotta Express Web Sessions と呼ばれるTerracotta Web Sessions 製品へのアップグレードは、また最新バージョンの一部で、webアプリケーションにおけるHTTPセッションのクラスタ化を提供する。
- TC Server Array: Terracotta Server Array (TSA) は、再設計され、キャッシング フィーチャにクラスタ コヒーレンス、高可用性、そして永続性を提供する。
- OSGI: OSGi コンテナのサポートも含まれている。
Ehcache 2.0は、WebLogic, Tomcat, JBoss そしてJetty のような Java EEコンテナをサポートする。関連するニュースとして、Ehcacheチームは、EhcacheフレームワークにRESTfulとSOAP APIを提供するEhcache Serverをリリースした。