Monday Aug 11, 2014

Java Temporary Caching API aka JCache

Caching is a key technique for application performance and application scaling. JCache (JSR 107) officially born as the "Java Temporary Caching API" has been largely discussed over the years. The goal of JCache is to be to cache providers what JDBC is to databases, a standardized abstraction layer. And since a few months, JCache is a reality

JCache was one of the most wanted feature in the Java EE 8 community survey and is now a feature on the list of potential candidates for inclusion in Java EE 8.  We will see over the coming months how this evolves but in preparation for this, it is probably a good time to refresh your JCache knowledge. The latest edition of the the Java Magazine contains a nice article written by Johan Vos on this: "Introducing the Java Temporary Caching API" (you can subscribe to the Java Magazine for free here).

Finally, if you are attending JavaOne, you might consider to attend the following sessions :

Friday Mar 23, 2012

Tab Sweep - Upgrade to Java EE 6, Groovy NetBeans, JSR310, JCache interview, OEPE, and more

Recent Tips and News on Java, Java EE 6, GlassFish & more :

Radio Receiver

Implementing JSR 310 (New Date/Time API) in Java 8 Is Very Strongly Favored by Developers (
Upgrading To The Java EE 6 Web Profile (Roger)
NetBeans for Groovy (
Client Side MOXy JSON Binding Explained (Blaise)
Control CDI Containers in SE and EE (Strub)
Java EE on Google App Engine: CDI to the Rescue - AleŇ° Justin (jaxenter)
The Java EE 6 Example - Testing Galleria - Part 4 (Markus)
Why is OpenWebBeans so fast? (Strub)
Welcome to the new Oracle Enterprise Pack for Eclipse Blog (
Java Spotlight Episode 75: Greg Luck on JSR 107 Java Temporary Caching API (Spotlight Podcast)
Glassfish cluster installation and administration on top of SSH + public key (Paulo)
Jfokus 2012 on (Parleys)
Java Tuning in a Nutshell - Part 1 (Rupesh)
New Features in Fork/Join from Java Concurrency Master, Doug Lea (DZone)
A Java7 Grammar for VisualLangLab (Sanjay)
Glassfish version 3.1.2: Secure Admin must be enabled to access the DAS remotely (Charlee)
Oracle Announces the Certification of the Oracle Database on Oracle Linux 6 and Red Hat Enterprise Linux 6

Tuesday Mar 06, 2012

JSR 107 - Code Rulez

What's better than talking about the JSR 107 draft spec or listening to its spec lead interview? Get your hands on code of course!


First of all, this page on github has links to spec, API, RI, TCK. Next, a fully functional 107 implementation backed by Oracle Coherence is also available from GitHub (continuous integration).

if you have feedback for this work, the discussion group is also available.

Monday Oct 17, 2011

javax.cache explained

Another day, another Java EE 7 component making serious progress - javax.cache (aka JCache, JSR 107) is another JSR that has reached the draft status as Greg Luck, the co-spec lead shares in his recent blog post.

The specification defines a CacheManager API which references caches and their entries stored in a map-like collection enhanced with features such as transactions (optional), listeners or statistics.


The resulting API can be used in both Java SE and Java EE and is distributed cache aware. One benefit of having waited so long for this JSR to complete is that we'll get a set of annotations usable in managed environments (Java EE and Spring).

Ehcache will be offering the reference implementation with other implementations planned by Oracle, JBoss, IBM and others.

Greg also has a short video interview coming out of his JavaOne 2011 session in which he explains how simple it will be to move from one implementation to another.

Friday Apr 29, 2011

Java EE 7 - what about caching?

JCache (JSR 107, Java Temporary Caching API) has been incomplete and dormant for a while. With JavaEE 7 picking up steam and addressing cloud scenarios such as PaaS, the co spec leads (EHCache's Greg Luck and Oracle's Cameron Purdy) have agreed to do get back to work and complete JCache to provide Java EE with a general purpose caching API. You can find an evolving draft version of the specification and get a good level of details about what's going on on this recent post by Greg.


Fast-forward 240 JSRs and we now have JSR 347: Data Grids for the Java Platform, submitted by JBoss and with a goal to "build upon and extend JSR-107 (JCACHE) API" to adress use-cases such as distributed caching (2nd level caching for JPA for instance) or transient session state (ActiveCache for GlassFish would be a good example of that) and provide standard means of distributing and replicating data. More background on Manik's blog.

Voting by the JCP Executive Committee on JSR 347 is now going on with results due on May 9th. The proposed schedule for this JSR targets an Early Draft of the specification by December 2011 and a Final Release by September 2012 (in time for Java EE 7).