JCache API (JSR 107) 是 Java EE 的一部分吗?

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

谷歌搜索了很长时间,找不到任何相关信息。

我不是 100% 确定它是否是 Java EE 平台的一部分,但我的直觉是不是。虽然,似乎大多数 Java 兼容 EE 的应用程序容器确实使用/或允许使用缓存系统。

它是 Java SE 的一部分吗?

还是它只是一个独立的规范?

根据 Oracle 的说法,Java EE 需要它并且需要在 Web 配置文件中:

https://blogs.oracle.com/arungupta/entry/java_ee_7_key_features

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

简短的回答是


Java 临时缓存 API(javax.cache 包)未包含在 Java EE 7 API dependency 中:

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

如果您需要 Java 临时缓存 API,您需要另一个 dependency:

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

以类似的方式,JSR 107 不包含在 Java EE 7 technologies list

和Java临时缓存API最终版本announcement提到以下内容:

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.


Java 临时缓存 API 也不是 Java EE 8 technologies 的一部分。