RESTEasy有一个很好的BrowserCache实现吗? (优于LightweightBrowserCache)

时间:2011-11-29 12:08:21

标签: java http caching rest resteasy

我们正在使用RESTEasy 2.2.3.GA提供的LightweightBrowserCache,但是注意到当达到缓存大小限制时,缓存会被完全清除。显然,这会严重降低缓存命中的可能性,因为最常用的项目无法保留在缓存中。

我们想要创建一个更复杂的实现(例如,基于Ehcache),当达到大小限制时,它将驱逐最近最少使用的项目。

有没有人知道我们可以使用的org.jboss.resteasy.client.cache.BrowserCache良好的开源实现?

您是否实施了自己的org.jboss.resteasy.client.cache.BrowserCache如果是,您是否知道我们应该小心避免的任何问题?

2 个答案:

答案 0 :(得分:2)

我们已经将Apache HTTP Client及其缓存组件与RestEasy Client Framework一起使用,以克服LightweightBrowserCache的这一限制。 RestEasy允许与Apache HTTP Client Component集成,详细信息可以在RestEasy文档中找到。

答案 1 :(得分:0)

您可以尝试使用Resteasy默认缓存技术。

  

当响应为200 OK时,仅对GET请求缓存响应,

     

测试环境:Jboss6.4和maven 3.0

依赖

<dependency>
  <groupId>org.jboss.resteasy</groupId>
  <artifactId>resteasy-cache-core</artifactId>
  <version>Any version after 3.0</version>
</dependency>

代码更改:在应用程序类中为ServerCacheFeature添加单例。

singletons.add(new ServerCacheFeature());

将此注释添加到您的函数中:

@Cache(maxAge=15, mustRevalidate = false, noStore = false, proxyRevalidate = false, sMaxAge = 15)
  

noStore可用于启用/禁用缓存resp