BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

JCACHE Specification Finalized

by Dan Woods on Mar 31, 2014 |

Oracle announced this month that the JCACHE specification is now final. JSR-107 was the oldest living JSR on the books, and was initiated on March 6, 2001. After thirteen years of evolution and development, the "Java Temporary Caching API" will bring Java a common interface for interacting with caching systems.

Oracle had received high levels of interest for JCACHE to be included in last year's Java EE 7 release, but after missing "a few critical deadlines", the JSR was dropped from the candidate list. Following Oracle's recent Java EE 8 survey, nearly two-thirds of all respondents expressed an interest in having JCACHE included as part of the language's next Enterprise Edition. With the announcement of the specification's finalization, Oracle made note that the project's reference implementation can be used as a drop-in to a Java EE 6 or Java EE 7 application, without having to wait for Java EE 8.

In itself, JCACHE provides a Map-like API for accessing caches, SPIs for spooling caches to persistent disk, an API for retrieving a named cache, and an API for registering event listeners. It does not, however, specify strategies for eviction, replication, or transactions. The work for defining those characteristics of caching is being done as part of JSR-347 - JGRID, to which JCACHE is a preceding and foundational component.

InfoQ caught up with Ben Cotton, who is a member of both the JSR-107 and JSR-347 expert groups, to ask some questions about JCACHE and the future of caching on the JVM:

InfoQ: Why JCACHE?

JCACHE will do for the Java Caching community exactly what JDBC did for the Java RDBMS community.

It promises to give Java a standard API with which JCACHE programmers can transparently operate on their data operands, independent of their data locality. With explicit join points to Hibernate and JPA L2 views, It won't matter if the data operand is a column in a data base, or a Map.Entry

InfoQ: What do you have planned for the future?

Transactional support has been high in demand, so we are working on that. Additonally, we are building in support for JGRID interaction. Also, we are opening up transparent API hooks to ultra-premium Java locality libraries' data operands (ie. Peter Lawrey's OpenHFT SharedHashMap)

In addition to the open source reference implementation, the JSR-107 specification is freely available on the project's GitHub page, including issue and commit history.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT