Mid-march this year, the JSR-107 expert group released the final javax.cache specification, thirteen years after the initial expert group formed, back in 2001! But we now have a standardized caching API for the Java platform and I believe that this is a good thing for developers.
Ehcache and its engineering team have obviously been supporters of the specification. Not only being involved in its making on paper, but we’ve finally came around to finalize our provider and pushed it to Maven central last week under org.ehcache:jcache. This 1.0.0 release addresses all issues we’ve found during the 2+ months in which we made snapshots available. Obviously, the implementation passes the TCK and supports the features marked as optional by the specification. We’re looking for any feedback you might have, and strongly encourage you to try it out for yourself! Should you have questions or comments, you can post these on IRC #ehcache-dev on freenode, our forums or file any bugs you may encounter directly on github.
Releasing this last Friday, it struck me that many tutorials out there (most if not all actually), use older unreleased versions of the specification. I fear this might lead to lots of frustration and confusion. As a result, I put a quick get started tutorial on github, which you may want to have a quick look at too: https://github.com/alexsnaps/jcache-demo. It has both code examples and I’ve added explanations in the wiki section of the project. I plan on adding content there as I can to cover more than the real basics that are currently there. But again, I encourage you to file requests, thoughts and bugs directly on github (and why not fork and contribute back!). Eventually, I’d like to see every aspect of the specification be covered there.
In parallel to these efforts, me and the team at Terracotta will keep on working on the Ehcache 3.0 efforts which, despite a couple of bumps in the road along the way, are still ongoing. I hope to give an update with more details on how we’re seeing these happen soon, including all the good and crazy ideas the team came up with, when we met in San Francisco earlier this month!
As for me, I’ll now try to wrap up the Hibernate second-level cache module using only the javax.cache API. I’ve made quite some progress and hope to finish this by the end of the month… Stay tuned for more details!
Couple of links to recap:
- The JSR-107 specification:
- The Ehcache provider:
- A quick Tutorial on the javax.cache API:
Cover picture by Leo Reynolds under Creative Commons.