0 votes

hibernate ne lit pas le fichier ehcache.xml OU ne respecte pas le délai d'attente ?

Voici à quoi ressemble mon entité

@Entity
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)   

@Table(name = "TestPojoOnly")
@NamedQueries({@NamedQuery(name = "TestPojoOnly.findAll", query = "SELECT h FROM TestPojoOnly h"), @NamedQuery(name = "TestPojoOnly.findById", query = "SELECT h FROM TestPojoOnly h WHERE h.id = :id"), @NamedQuery(name = "TestPojoOnly.findByCategoryname", query = "SELECT h FROM TestPojoOnly h WHERE h.categoryname = :categoryname")})
public class TestPojoOnly implements Serializable {

mon ehcache.xml

<cache name="com.package.model.TestPojoOnly"
    maxElementsInMemory="200"
    eternal="false"
    overflowToDisk="false"
    timeToIdleSeconds="0"
    timeToLiveSeconds="0"
/>

Q. J'ai déjà défini le temps à zéro et l'éternel à faux, mais lorsque j'essaie de charger l'entité à partir de la base de données, elle est toujours récupérée à partir du cache. time=0 signifie qu'il n'y a pas de cache, n'est-ce pas ? ai-je oublié quelque chose ?

ref : mon appcontex.xml à http://www.copypastecode.com/16833/

2voto

Benjamin Cox Points 4121

TimeToIdleSeconds et timeToLiveSeconds traitent tous deux zéro comme l'infini. Je n'ai pas pu copier et coller correctement depuis mon iPhone, mais si vous faites une recherche sur le document de configuration de ehcache ici pour timeToLiveSeconds, il est dit "Une valeur de 0 signifie qu'un élément peut vivre à l'infini".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X