开源缓存框架 Ehcache 最新版本支持后写式缓存和利用 Java Transaction API ( JTA )进行事务管理,同时还提供了 Hibernate 3.3 缓存插件、针对集群缓存的批量加载API 和运行时缓存重配置机制。
Ehcache 2.0 引入了直写式(write-through)和后写式(write-behind)缓存。直写式缓存模式被用于将数据写入底层资源(如数据库)的缓存。这种缓存成为底层资源的一种外表接口(facade)。后写式缓存模式使用相同的客户端 API,但是写入采取异步方式。后写式缓存特性作为新Ehcache API 的一部分,适用于对数据库的异步批量更新。
事务管理:新的 JTA 支持特性允许缓存在 JTA 事务中以 XA 资源的形式存在。它自动按顺序检测和使用下列事务管理器:通用 JNDI(如 Glassfish 、 JBoss 、 Weblogic 、 JTOM )、 WebSphere 、 Bitronix JTA 事务管理器和 Atomikos 。Ehcache 2.0 对于 Hibernate 来说不是事务型缓存。Ehcache 2.1(刚发布 beta 版)提供了针对 Hibernate 的 JTA 支持。
Ehcache 2.0 还提供了一种快捷模式通过配置变化集群化应用数据,不论数据在 Hibernate 中、分布式缓存中还是 session 对象。它支持把分布式缓存作为 Hibernate 的第二级缓存,也可以直接使用 Ehcache API 。在本地和分布式实现之间切换通过配置变化来完成。其他功能还包括:
- 批量加载:批量加载模式用于通过 Terracotta Server Array 向缓存加载数据。该选项可用于缓存预热(在应用上线之前填满缓存)和定期的批量加载。
- 配置管理:支持 Ehcache 的动态配置,缓存参数如 Time-To-Idle (TTI) 和 Time-To-Live (TTL) 等可以通过 Terracotta 管理控制台或者其他 JMX 兼容工具来更改。
- Web sessions:升级 Terracotta Web Sessions 产品(名为 Terracotta Express Web Sessions),提供 web 应用中的 HTTP session 集群化。
- TC Server Array:Terracotta Server Array (TSA) 被重构以提供集群一致性、高可用性和持久性。
- OSGI:支持 OSGi 容器。
Ehcache 2.0 支持 Java EE 容器,如 WebLogic、 Tomcat 、JBoss 和 Jetty 。在一则相关新闻中,Ehcache 团队还发布了 Ehcache Server 以提供 RESTful 和 SOAP API 给 Ehcache 框架。
评论