-->
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.  [ 3 posts ] 
Author Message
 Post subject: load / database level lock
PostPosted: Mon Jun 07, 2010 6:22 am 
Newbie

Joined: Mon Jun 07, 2010 6:08 am
Posts: 2
Bonjour,

Je ne comprends pas comment checker la présence d'un verrou au niveau de la BD.
J'ai un serveur postgresql qui est interrogé par mon application java basée sur hibernate.
Mettons qu'une partie du code de mon appli soit ainsi :
Personne p = mySession.getCurrentSession().load (Personne.class,5, LockMode.UPGRADE);
Ceci fonctionne parfaitement, l'objet personne est chargé et bloqué avec un lock upgrade.
Si un autre thread de la meme instance tente une opération,il est facile de vérifier l'etat du verrou avec la fonction getLockMode (ou un truc omme ca),
En revanche si il s'agit d'une autre instance, je ne parviens pas à vérifier le lock !
La deuxième instance va rester bloquée sur la ligne du "load" jusqu'à ce que la première ai libéré la donnée.
Je voudrais pouvoir vérifier si la donnée est déjà éditée et emettre un message à l'utilisateur genre "cette donnée est en cours d'édition par l'un de vos collègues, veuillezz réessayer ultérieurement"

Si vous avez une solution, merci :)


Top
 Profile  
 
 Post subject: Re: load / database level lock
PostPosted: Fri Jul 09, 2010 5:15 am 
Regular
Regular

Joined: Thu May 07, 2009 5:56 am
Posts: 94
Location: Toulouse, France
et si tu essaies ceci pour deuxième instance :
Personne p = mySession.getCurrentSession().load (Personne.class,5, LockMode.UPGRADE_NOWAIT);
si le lock ne peut pas être obtenu un exception est levée...et tu la traites convenablement.

_________________
everything should be made as simple as possible, but not simpler (AE)


Top
 Profile  
 
 Post subject: Re: load / database level lock
PostPosted: Sat Jul 10, 2010 4:03 am 
Newbie

Joined: Sat Jul 10, 2010 3:32 am
Posts: 2
Si un autre thread de la meme instance tente une opération,il est facile de vérifier l'etat du verrou avec la fonction getLockMode (ou un truc omme ca),
En revanche si il s'agit d'une autre instance, je ne parviens pas à vérifier le lock !
La deuxième instance va rester bloquée sur la ligne du "load" jusqu'à ce que la première ai libéré la donnée.

_________________
Chanel Handbags
Hermes Handbags


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 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.