2014-07-18 56 views
2

我有一个RestEasy的Web服务标注有@Cache部署在JBoss的Wildfly-8.1.0:使用Infinispan的子系统RestEasy的缓存下JBoss的Wildfly-8.1.0

@Cache 
@Path("/commercialStructures") 
@ApplicationScoped 
public class CommercialStructureResource extends 

    @GET 
    @Path("/listGeoRegions") 
    @Produces(value = { APPLICATION_XML, APPLICATION_JSON }) 
    public List<GeographicRegion> listByParentId(@QueryParam("parentId") Long parentId) { 
    (...) 

根据RestEasy的文档我需要添加org.jboss.resteasy.plugins.cache.server.ServerCacheFeature到JAX-RS应用和变化的web.xml:

<web-app> 
    <context-param> 
     <param-name>server.request.cache.infinispan.config.file</param-name> 
     <param-value>infinispan.xml</param-value> 
    </context-param> 
    <context-param> 
     <param-name>server.request.cache.infinispan.cache.name</param-name> 
     <param-value>MyCache</param-value> 
    </context-param> 
</web-app> 

问题:

  1. infinispan.xml和cache名称如何与standalone.xml中的infinispan SubSystem配置相关?

  2. 这是在Wildfly下设置REST Cache的正确方法吗?

谢谢!!

回答

0

在web.xml没有变化是必需的,如果您需要基本的缓存遵循的步骤:只对GET请求时,响应200 OK

缓存响应,

测试环境: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

相关问题