2014-07-18 88 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

相關問題