1

我正在检索需要大约 400 毫秒才能检索并转换为 Java 对象的远程资源。此对象有可能在对我的 JAX-RS Web 服务(对象所有者)的大量请求中被引用。是否有一些内置的缓存机制允许我通过 id/hash 存储对象并在稍后的时间点检索它(如哈希图,但通过某种方式在 3600 秒后使资源过期)。

我看过: https ://blogs.oracle.com/cwebster/entry/caching_static_resources_in_glassfish

它看起来很有希望,但链接的 ExpiresFilter 不再存在,我可以找到它,它只解决了远程系统调用 JAX-RS 方法的问题,而许多其他方法依赖于该方法(因此该方法直接在 java 中调用)

4

2 回答 2

1

我不知道 Java EE 或 Glassfish 中的任何标准缓存机制,但我认为Guava 库正是您想要的,即强大的缓存实现:https ://code.google.com/p/guava-libraries/ wiki/缓存解释

它是线程安全的,可以随时配置为使项目过期。我已经在 J​​ava EE 应用程序中成功地使用了它,它就像一个魅力。

于 2013-10-07T12:28:57.343 回答
1

JCache (JSR 107) 是 Java 应用程序的标准缓存 API,本应将其纳入 Java EE 7,但最终被推迟到 Java EE 8。但您可以将其用作 Java EE 应用程序中的第 3 方库。

这是一篇(稍微过时的)文章,解释了如何使用它。 http://java.dzone.com/articles/introduction-jcache-jsr-107

规范和 RI 在这里。 https://github.com/jsr107/jsr107spec

于 2013-10-09T17:18:26.020 回答