2017-03-01 1 views
0

Je Mise en veille prolongée ehcache finale 4.1.4, ehcache-3.3.0.jarcache de second niveau config

config (printemps 3.2) pour mise en veille prolongée ehcache

hibernate.cache.use_second_level_cache=true  
      hibernate.generate_statistics=true   
      hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory 

Mon entité

@Entity 
@Table(name = "SESSION_ENTERING") 
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_ONLY) 
public class SESSION_ENTERING implements Serializable { 
... 

Mon dao

public List<SESSION_ENTERING> getSESSIONS() { 
    return sessionFactory.getCurrentSession(). 
      createQuery("from SESSION_ENTERING order by id desc") 
      .setCacheable(true) 
      .list(); 
} 
    //or even this 
    public SESSION_ENTERING getSESSION() { 
     return SESSION_ENTERING)sessionFactory.getCurrentSession().get(SESSION_ENTERING.class,256l); 
} 

Construire et Depl oy Succesfull, mais ce cacheEntries == null sessionFactory.getStatistics(). logSummary(); est vide

 SecondLevelCacheStatistics cacheEntries = sessionFactory.getStatistics() 
    .getSecondLevelCacheStatistics(""); 
    sessionFactory.getStatistics().logSummary(); 

Répondre

1

Vous ne semblez pas avoir une question spécifique ici mais je peux déjà dire une chose.

Puisque vous utilisez Ehcache 3.3, vous devez configurer Ehcache par JCache au lieu du EhCacheRegionFactory qui a été fait pour Ehcache 2.

En outre, vous devriez vraiment utiliser les noms de classe classique (en commençant par une lettre majuscule et inférieure Cas). C'est actuellement un peu trompeur pour quelqu'un qui vous lisait.

0

C'était ma mauvaise. Pour le premier je change lib ehcache-3.3.0.jar pour le bas ehcache-core-2.6.10. Deuxièmement, j'ai ajouté à l'annotation @Cacheable entité, mais je ne suis pas sûr que c'était utile.