IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

[Hibernate][EHCache]Timeout non respecté


Sujet :

Hibernate Java

  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 27
    Par défaut [Hibernate][EHCache]Timeout non respecté
    Salut,

    Je développe une application web avec EHCache et Hibernate, et j'ai l'impression que les timeout que j'ai spécifié dans la configuration du cache ne sont pas respectés.

    Voici un extrait de mon fichier ehcache.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	<cache
    		name="dto.User"
    		eternal="false"
    		maxElementsInMemory="100"
    		timeToIdleSeconds="10"
    		timeToLiveSeconds="10"
    	/>
    J'ai bien <cache usage="read-write"/> dans le mapping de User

    Lors du premier chargement (une requête), j'ai bien une ligne "cache miss" dans les logs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    2007-08-09 16:08:49,352 DEBUG - key: dto.User#1
    2007-08-09 16:08:49,352 DEBUG - dto.UserCache: dto.UserMemoryStore miss for dto.User#1
    2007-08-09 16:08:49,352 DEBUG - dto.User cache - Miss
    2007-08-09 16:08:49,352 DEBUG - Element for dto.User#1 is null
    2007-08-09 16:08:49,360 DEBUG - Cached: dto.User#1
    Si j'ai bien compris, d'après ma configuration de ehcache, lors de la prochaine requête 10 secondes plus tard, je devrais ré-avoir un cache miss

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    2007-08-09 16:09:14,611 DEBUG - Caching: dto.User#1
    2007-08-09 16:09:14,611 DEBUG - key: dto.User#1
    2007-08-09 16:09:14,612 DEBUG - dto.UserCache: dto.UserMemoryStore hit for dto.User#1
    2007-08-09 16:09:14,612 DEBUG - Cached: dto.User#1
    Apparemment pas ...

    Le résultat, c'est que lorsque User est modifié dans une session, les autres sessions web sont désynchronisées.
    Je ne sais pas de combien est le timeout appliqué (ou si il y en a un), mais le seul moyen que j'ai trouvé pour retrouver la synchronisation est de redéployer l'application ...

    Pas très pratique en production

    Si quelqu'un a une idée ?

  2. #2
    Membre averti
    Inscrit en
    Juillet 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 25
    Par défaut
    Je relance le sujet car je rencontre un problème similaire... le timeToIdleSeconds fonctionne mais il semble que le timeToLiveSeconds ne soit pas respecté...
    Merci

Discussions similaires

  1. Probleme Hibernate + JPA -> lazy loading non respecté
    Par MikoMax dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/08/2007, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo