-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: Relancer automatiquement une requete sql en cas d'exception
PostPosted: Mon Jan 23, 2006 12:50 pm 
Newbie

Joined: Mon Jan 23, 2006 11:57 am
Posts: 1
Bonjour,

Je voudrais savoir si Hibernate est capable de relancer un ordre sql lors que celui ci a échoué.

Plus concrètement, je cherche une solution pour résoudre le problème suivant:
J'ai mis en oeuvre Hibernate3 dans un environnement J2EE : WebSphere6/DB2 8/EJB 2. Les connexions sont gérées par le pool de connexions. Les transactions sont gérées par le conteneur.

Tout fonctionne correctement, sauf en cas de coupure réseau ou d'arrêt de la base de données. Dans ces cas, les connexions détenues dans le pool de connexions ne sont plus valides. Ainsi lors de l'éxécution d'un ordre sql, Hibernate recoit une StaleConnectionException. Malheureusement, cet état ne peut pas être détecté avant l'exécution de l'ordre sql.

Il existe bien quelques options et fonctions du pool de connexions qui permettent de résoudre la difficulté, mais je voudrais faire le tour de toutes les solutions avant de me décider.

Pour contourner ce problème, IBM préconise de relancer l'ordre sql défaillant en comptant sur le fait que le mécanisme de purge du pool de connexions aura nettoyé les connexions défaillantes et créé de nouvelles connexions opérantes.

Mais bon, je trouve dommage de devoir programmer moi même la relance d'un ordre sql. Alors je me demandais si cette fonctionnalité n'était pas déjà incluse dans Hibernate. Et si oui, comment l'activer?

Merci de votre attention et de vos réponses.
T


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 23, 2006 5:37 pm 
Hibernate Team
Hibernate Team

Joined: Sun Sep 14, 2003 3:54 am
Posts: 7256
Location: Paris, France
La réponse d'IBM est osée, dans la mesure où elle interviendrait potentiellement dans une autre transaction, ou demanderait un 2PC.

_________________
Emmanuel


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 24, 2006 12:13 pm 
Hibernate Team
Hibernate Team

Joined: Thu Dec 18, 2003 9:55 am
Posts: 1977
Location: France
mieux vaut prévenir que guérir, configure le pool pour qu'il s'assure que les connexions fournies soient valides, la plupart supportent une requête SQL comme test de connexion.

_________________
Anthony,
Get value thanks to your skills: http://www.redhat.com/certification


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 26, 2006 12:05 pm 
Regular
Regular

Joined: Tue May 03, 2005 8:19 am
Posts: 53
Location: Paris
Pour WAS à partir de Was 5.1
utilise
preTestSQLString=select sysdate from dual;
Il faut activer une propriété dans le fichier j2c.properties

voir
http://publib.boulder.ibm.com/infocente ... tings.html


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.