SoftwareDeveloper SoftwareDeveloper - 6 months ago 21
Java Question

Is the JCache API (JSR 107) part of Java EE?

Been googling for a long time and can't seen to find any information on this.

I'm not 100% sure if it is part of the Java EE platform but my gut feeling it is not. Although, it seems most Java EE compliant application containers do use/ or allow usage of caching systems.

Is it part of Java SE?

Or is it just a standalone specification?

Answer

The Java Temporary Caching API (javax.cache package) is not included in the Java EE 7 API dependency:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>7.0</version>
</dependency>

If you need the Java Temporary Caching API, you need another dependency:

<dependency>
    <groupId>javax.cache</groupId>
    <artifactId>cache-api</artifactId>
    <version>1.0.0</version>
</dependency>

In a similar way, the JSR 107 is not included in the Java EE 7 technologies list.

And Java Temporary Caching API final version announcement mentions the following:

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.