2014-07-18 2 views
2

J'ai un service Web Resteasy annotés avec @Cache déployé sur JBoss wildfly-8.1.0:Utilisation de sous-système Infinispan pour Resteasy Cache sous 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) { 
    (...) 

Selon Resteasy docs que je dois ajouter org.jboss.resteasy.plugins.cache.server.ServerCacheFeature à JAX-RS application et le changement 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> 

questions:

  1. Comment les noms de fichiers infinispan.xml et de cache sont-ils liés aux configurations de sous-systèmes infinispan sur standalone.xml?

  2. Est-ce la façon correcte de configurer le cache REST sous Wildfly?

Merci!

Répondre

0

Aucun changement dans web.xml est nécessaire, si vous avez besoin de mise en cache de base suivez les étapes:

réponse

Cache uniquement pour la demande GET lorsque la réponse est 200 OK,

Environnement de test: Jboss6.4 et Maven 3,0

dépendance:

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

Modifications de code: Ajoutez un singleton pour ServerCacheFeature dans votre classe d'application.

singletons.add(new ServerCacheFeature()); 

Ajouter cette annotation à votre fonction:

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

noStore peut être utilisé pour activer/désactiver pour mettre en cache resp

Questions connexes