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 :

Thursday Mar 20, 2014

JCache is Final! I Repeat: JCache is Final!

"The only reason for time is so that everything doesn't happen at once."
(Albert Einstein)

If you have not been following the evolution of the JCache specification, aka JSR 107 - "Java Temporary Caching API" or if you simply forgot, it is fair to say that the work on this JSR took 'a bit longer than expected'!

Just as a reminder, JSR 107 was started in 2001 and to put things in perspective, J2SE 1.4 was released in 2002! So there has been clearly 'a few hiccups here and there'... Anyway, the good news is that JCache is now final! I repeat: JCache is final! Let's salute the tenacity and the perseverance of the different EG members who drove this specification to its finalization!

The "Java Caching: The State of the Union" video from last JavaOne is a good resource to better understand JCache and the history behind this specification. At a hundred and fifty some pages, the official specification itself is also fairly readable.

While JCache is certainly more than a bit overdue and narrowly missed Java EE 7, interest and support for it has been high in the community and industry for a long time. It had a strong showing in the results of the Java EE 7 survey - over 80% wanted it added to the platform. It has a similarly strong showing in the results of the first part of the Java EE 8 survey.

You should feel free to download and evaluate JCache. It should be possible to use it as a drop-in addition to a Java EE 6 or Java EE 7 application. Although JCache does not specifically address Java EE integration most common use cases should be supported, including a pretty cool set of caching annotations that work with CDI. One possibility is to better define Java EE integration in the Data Grids JSR (JSR 347), most notably JTA/transaction support. Now that JCache is done, the Data Grids JSR is likely to be spun up, so you should stay tuned...

PS: Would you believe me if I said that this post was drafted some time ago? ;-)

Monday Jul 08, 2013

JCache Marches Onward!

As many of you know, JCache (JSR 107) narrowly missed Java EE 7. JCache is clearly a very important and long-anticipated API as indicated in the well-participated Java EE 7 survey. I am happy to report that JCache keeps making steady progress and recently posted a public review.

The review is open until August 5th and you are encouraged to get your comments in. You can send your comments directly to or enter issues on GitHub.

At the current pace, JCache should be ready well ahead of Java EE 8 and be an excellent candidate for inclusion. You should also be able to use JCache with Java EE 7 and Java EE 6 as a drop-in jar.

Thursday Jan 31, 2013

JCache to Miss Java EE 7

We are very sad to report that JCache (JSR 107) missed a few critical deadlines and will not make it in time for Java EE 7. This is undoubtedly dissapointing to many of you as the community indicated strong support for JCache in the well-participated Java EE 7 survey. However, the consensus on both the Java EE 7 and JCache EGs was that it is best to not hold up Java EE 7 any further (as you know Java EE 7 has a ton of other great stuff including WebSocket, JMS 2, JAX-RS 2, JSON-P, Java Batch, EE Concurrency and the like - check out my Java EE 7 slide deck from a few months ago).

JCache is fully expected to move forward strongly independent of Java EE 7 and be an excellent candidate for Java EE 8. You should also be able to use JCache with Java EE 7 as a drop-in API provided the spec is finalized far ahead of Java EE 8. We encourage you to follow the Java EE 7 EG and JCache EG discussions on the topic and provide your feedback.

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.