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 :

EHCache : Comment tester que cela fonctionne


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut EHCache : Comment tester que cela fonctionne
    Bonjour,

    Je suis en traine de mettre EHCache avec hibernate sur un projet. Je voudrais savoir comment il est possible de tester que cela fonctionne bien (sachant que l'application ne fonctionne pas sur une serveur).

    Pour l'instant j'ai testé deux pistes sans succès :
    - j'ai fait un test untiaire ou j'essaye de charger deux fois le même objet depuis la base. J'ai mis le show_sql à true dans ma conf hibernate et je m'attendais à voir qu'une seule requête passer. Mais j'ai deux requete select qui passe pour charger mes deux objets.
    - J'ai mis des logs avec log4j sur le package "net.sf.ehcache", et j'ai mis le niveau de log à DEBUG. je n'ai pas eu une seule ligne dans les log concernant EHCache.


    Donc ma question est simple comment puis-je tester que cela fonctionne ? (Sachant que je n'ai aucune certitude que ma configuration soit bonne). Est ce que au moins un des deux tests que j'ai fait au dessus aurait du fonctionner ?

    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Si tu as deux requêtes, effectivement, il y a des chances que ça ne fonctionne pas.
    Tu utilises un get ou une requête HQL ?
    Fais voir ta conf.

  3. #3
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut
    C'était une excellente question car j'utilisais une classe déjà existante qui pour ramener un objet spécifique utilisais une requete faite avec des Criteria. J'ai donc remplacé ça par un get et du coup, cela fonctionne.

    Le truc, c'est qu'il va falloir que mon cache retourne des données quand je fais des requete. Je suppose qu'il va donc falloir que je mette en place le cache de requete. C'est bien cela ?

    Merci encore, car j'ai bien galéré sur ce truc.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Voila tu as tout compris.
    Il faut activer le cache de requêtes.
    Tu as un chapitre dans la doc pour cela.
    Bonne chance et n'hésite pas à revenir en cas de problème.

  5. #5
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut
    OK merci beaucoup encore

  6. #6
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut
    je rouvre ce post car plusieurs problématiques se posent suite au premier qui a été résolu. Je tente donc de mettre un cache query sur mes objets. J'ai donc mis mon dans mon hibernate.cfg.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <property name="hibernate.cache.use_query_cache">true</property>
    et j'ai ajouté sur ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query.setCacheable(true);
    Donc comme avant impossible d'avoir des logs de debug de ehcache, j'ai donc mis le show_sql à true. Et là, c'est le drame! Quand je fais deux appels successifs à ma fonction il crée deux requete SQL.

    Pour en avoir le coeur net, j'ai mis en place les logs sur mon mysql. Et en effet, je vois bien mes deux select passer.

    Donc première question : Qu'est ce que j'ai oublié pour que le cache de requête fonctionne ?

    J'ai repassé mon test en faisant des get sur les objets et un truc qui m'a étonné c'est qu'il ne fait pas une requete sur l'objet que j'ai demandé de charger mais il fait un select sur ma table sans clause where.

    Donc ma deuxième question (moins urgente ) : Est ce un fonctionnement normal ? Est ce du à la présence du cache (Comme ça il met tous les objets en cache) ? Est ce paramétrable ?

    Merci beaucoup pour vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] Comment tester que l'utilisateur a saisi un chiffre
    Par antezi dans le forum Free Pascal
    Réponses: 2
    Dernier message: 25/04/2013, 10h40
  2. Réponses: 5
    Dernier message: 05/08/2011, 00h15
  3. Réponses: 12
    Dernier message: 07/09/2010, 14h54
  4. Réponses: 1
    Dernier message: 29/12/2009, 08h02
  5. [XML]Comment tester que mon fichier XML est comme ceci?
    Par Devil666 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 02/06/2005, 13h41

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