JCACHE规范尘埃落定

Oracle于上月宣布,JCACHE规范最终定型。JSR-107由来已久,始于2001年3月6日。经过13年的发展与演进,“Java临时缓存API”使Java拥有了与缓存系统交互的通用接口。

因为JCACHE原计划包含在去年发布的Java EE 7中,Oralce曾经备受瞩目,但是由于错过“若干关键最后期限”,该JSR最终被排除在候选列表之外。根据Oracle最近对JAVA EE 8所作的调查,接近2/3的受访者表示对JCACHE包含在JavaEE新版中感兴趣。Oracle在宣布规范完成后,紧接着又宣布该规范的参考实现可以随时应用于Java EE 6或Java EE 7应用,不用等到Java EE 8发布。

就其本身而言,JCACHE提供了类似Map的访问缓存API、将缓存脱机到持久性磁盘上的服务提供商接口(SPI)、检索命名缓存的API和注册事件监听器的API。但是,规范没有定义缓存收回、复制或事务相关的策略。定义这些特性的工作放在了规范JSR-347——JGRID中,JCACHE的定位是前期和基础组件。

为了了解JCACHE和JVM缓存前景相关问题,InfoQ采访了Ben Cotton,他是JSR-107和JSR-347规范专家组的成员之一。

InfoQ:为什么发起JCACHE规范?

JCACHE之于Java缓存社区,与JDBC之于JAVA RDBMS社区一样。

JCACHE规范承诺为Java提供一套标准API,通过这套API,编程人员可以透明地操作数据,不用关心数据放在哪里。当显式连接到Hibernate和JPA L2视图时,不论数据操作对象是数据库中的一列,还是Map.Entry,对编程人员都是透明的。

InfoQ:您如何规划规范的未来发展呢?

由于支持事务的需求非常强烈,所以我们一直在这方面努力。另外,我们也在加强支持与JGRID规范的交互。除此之外,我们还会开放透明API,这些API会适配到优质Java本地库的操作对象上(如 Peter开发的OpenHFT SHM)。

除了开源参考实现之外,在项目GitHub主页中还可以免费获取JSR-107规范,包括问题和提交历史。

感谢臧秀涛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(JCACHE规范尘埃落定)