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 :

Définir un timeout sur une requête de récuperation


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Définir un timeout sur une requête de récuperation
    Bonjour,
    J'exécute des requete select de SQL native sur ma BD mais parfois les résultats sont énormes, donc le server ça plante. J'ai pensé alors de faire une sorte de timeout, si l'execution, par exemple dure plus que 30 sec, il s'arretera.

    Est ce que c'est possible? si oui, comment le faire ?


    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Avec un Criteria ou un Query tu as :

    setMaxResults(int maxResults)
    setTimeout(int timeout)

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ma requete est de type select, ma fonction doit me retourner le nombre d'enregistrements d'une requete SQL, donc la setMaxResults() n'est pas la bonne. Quand une select est appliquée sur plusieurs critères, ça prend largement du temps, j'ai essayé d'utiliser setTimeout(int sec) sur l'objet Query et sur Transaction mais rien de spécial, comme si mon application prends pas en compte cette fonction.

    SQLQuery sql = null;
    try {

    getDataService().getSession().clear();
    getDataService().getSession().getTransaction().setTimeout(3);
    getDataService().getSession().getTransaction().begin();
    sql = (SQLQuery)getDataService().getSession().createSQLQuery(requete).setTimeout(3);

    setReqSize(sql.list().size());
    getDataService().getSession().close();
    } catch (HibernateException e) {
    setReqSize(0);
    e.getStackTrace();
    }

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    je suis toujours coincé

Discussions similaires

  1. définir le niveau à ouvrir sur une requête X3
    Par emballeur dans le forum SAGE
    Réponses: 2
    Dernier message: 01/04/2012, 11h48
  2. Comment définir un timeout sur une socket PHP ?
    Par N3odyme dans le forum Langage
    Réponses: 7
    Dernier message: 07/05/2006, 23h04
  3. Pb sur une requête SQL (de champ vide)
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 11h12
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

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