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

Développement Web en Java Discussion :

Gestion acces concurrent


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé Avatar de gronono
    Inscrit en
    Novembre 2003
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2003
    Messages : 456
    Points : 482
    Points
    482
    Par défaut Gestion acces concurrent
    Bonjour,

    Voici le problème (pour l'instant uniquement théorique) :
    J'ai une application gérant des clients (avec un nom, prénom, une adresse ...)
    Les utilisateurs de l'application (les gestionnaires) peuvent créer, consulter et modifier un client.

    Soit le gestionnaire G1. Il veut modifier le client C1. Il commence par afficher le formulaire de modification pré rempli avec les informations de C1 (lecture des données). Puis il modifie une ou plusieurs informations. Ensuite il clique sur valider (enregistrement des données).
    Soit le gestionnaire G2. Il fait la même chose que G1 sur le même client C1.

    Il existe alors plusieurs cas pouvant ce produire :
    G1 a fini de modifier C1 lorsque G2 commence => il n'y a pas de problème
    G2 a fini de modifier C1 lorsque G1 commence => il n'y a pas de problème
    G1 va prendre un café entre le moment où il affiche le formulaire et le moment où le valide. Dans ce cas, G2 n'affiche pas les bonnes informations et valide ses changements sur des infos erronées. Puis G1 valide et écrasé tous les changements de G2.

    Ma question est comment gérer le 3eme cas. Est-ce que je dois mettre un attribut verrouillé sur mon objet client qui indique l'état du client ? A quelle niveau de l'application dois-je gérer les accès concurrent ? Existe-t-il des solutions gérant déjà ces problèmes ? Si oui, les quelles ?

    Merci d'avoir lu jusqu'au bout.
    A+

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Points : 635
    Points
    635
    Par défaut
    Hibernate permet de gérer ça en faisant du optimistic locking (versioning)

  3. #3
    Membre confirmé Avatar de gronono
    Inscrit en
    Novembre 2003
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2003
    Messages : 456
    Points : 482
    Points
    482
    Par défaut
    Citation Envoyé par the-gtm
    Hibernate permet de gérer ça en faisant du optimistic locking (versioning)
    Ok pour Hibernate, mais dans ce cas, il faut garder la session ouverte jusqu'à la validation de l'utilisateur, n'est-ce pas ?
    De plus Hibernate gére l'accès à la base de données, alors que dans mon cas c'est plus un problème au niveau service, non ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 548
    Points : 635
    Points
    635
    Par défaut
    Je me trompe peut être mais je ne crois que la session doive rester ouverte (d'ailleurs c'est généralement déconseillé), lorsque l'utilisateur valide, tu peux réattacher l'objet modifié à une nouvelle session. A ce moment si l'objet en question a été modifié par quelqu'un d'autre tout ce que fait Hibernate c'est de lancer une exception. Ensuite c'est au service de faire ce qu'il faut.

Discussions similaires

  1. Gestion des accès concurrents à une table
    Par kodo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/06/2006, 14h05
  2. [Hibernate] Gestion d'acces concurrents
    Par K-Kaï dans le forum Hibernate
    Réponses: 9
    Dernier message: 01/06/2006, 16h08
  3. [Oracle][Agent intélligent]Gestion acces concurrent a une BD
    Par oussam dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 10/03/2006, 11h41
  4. gestion accès concurrent? possible quand on ouvre un fichier
    Par af_airone dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/11/2005, 10h02
  5. Réponses: 22
    Dernier message: 25/08/2005, 16h03

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