2009-10-28 8 views
2

Je suis en train de configurer la couture/ehcache suivant le tutoriel de la page jboss:fournisseur de cache avec Seam ehcache null

http://docs.jboss.org/seam/2.1.2/reference/en-US/html/cache.html

Je mets le ehcache.1.2.3.jar dans project.ear/lib et injecté CacheProvider comme spécifié, mais le CacheProvider retourne toujours null. La documentation ne montre aucune configuration supplémentaire pour ehcache, juste pour le cache jboss. Je fais probablement quelque chose de mal, c'est impossible d'être si facile :).

en plus mis le pot dans/lib, j'ai créé le composant de couture suivant à tester:

@Scope(ScopeType.SESSION) 
@Name("cacheBean") 
public class CacheSeamBean implements java.io.Serializable { 

@In(required=false, create=true) 
private EntityManager em; 

@Logger 
private Log log; 

@In 
private Events events; 

@In CacheProvider cacheProvider; 

Boolean blLoaded = Boolean.FALSE; 

@Create 
public void buscar() { 

    if (!blLoaded){ 
    List<Parametro> lstParametro = em.createQuery("select p from Parametro p").getResultList(); 
    for (Parametro parametro : lstParametro){ 
    cacheProvider.put(parametro.getCodigo(), parametro.getValor()); 
    } 
    blLoaded= Boolean.TRUE; 
    } 
} 
} 

Merci

Répondre

2

Ajouter dans votre components.xml:

<components xmlns="http://jboss.com/products/seam/components" 
... 
      xmlns:cache="http://jboss.com/products/seam/cache" 
      xsi:schemaLocation= 
        "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd 
       http://jboss.com/products/seam/cache http://www.jboss.com/products/seam/cache-2.1.xsd"> 

... 
    <cache:eh-cache-provider/> 
... 
</components> 
+0

I ajouté ci-dessus extrait dans le fichier components.xml et cela ne fonctionnait toujours pas pour moi. – Joe

+0

@Joshua avez-vous le fichier ehcache dans le classpath? (project.ear/lib) c'est tout ce dont vous avez besoin pour le faire fonctionner. Si vous avez un fichier ehcache.xml autre que celui par défaut, il doit également figurer dans la racine du chemin de classe de votre application (par exemple, WEB-INF/classes) – Joff

Questions connexes