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 :)
|