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

Servlets/JSP Java Discussion :

[transaction] Gestion de la concurrence d'accès


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 23
    Par défaut [transaction] Gestion de la concurrence d'accès
    Bonjour,
    Dans le cadre d'un projet informatique d'entreprise, en tant que stagiaire, je suis amené à réfléchir à une problématique de verrous.

    Application web: J2EE, Jsp ,Spring, Struts +de l'Ajax+ oracle sous Windows


    Soit un utilisateur qui désire modifie un prix. Or un autre utilisateur peut faire de même.

    Comment ne pas arriver en cas particulier ou :
    - l'utilisateur demande une modification d'une fiche produit pour le prix, mais entre temps part boire un café
    - alors qu'un 2e utilisateur arrive, demande aussi une modification de la fiche et la valide
    - entre temps, le 1er utilisateur revient et se décide enfin à valider sa modification avec un nouveau prix qui annulerait la modification du 2e utilisateur, sans le savoir.


    Je sais qu'Oracle gère les verrous , possible via la notion de transaction. J'ai aussi remarqué que java permettait de gérer la notion de transaction.


    Selon moi, il suffirait, lorsque un utilisateur demande une modification de fiche, de faire un lock via une transaction en java. Et si la modification n'a pas été effectué avant x minutes, de cloturer la transaction sur la fiche du produit et prévenir l'utilisateur qu'il a pris trop de temps.

    Après comment le faire techniquement parlant, si vous avez des idées... (thread minuté ? ...)

    J'ai exposé brièvement ma solution au responsable du projet qui dit que cela ne lui convenait pas forcément.

    Qu'en pensez vous ?Avez vous d'autres solutions ?

    Cordialement

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Par défaut
    Pourquoi ne pas notifier le buveur de café qu'une autre personne a accéder à la ressource et l'a modifié avant que lui même ait finit sa modification ?

    Bloquer l'accès à la ressource est un peu dangereux, je trouve.

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 73
    Par défaut
    Salut,

    Ce que tu pourrais faire, c'est créer deux colonnes dans la table qui gère tes fiches : une colonne que l'on peut appeler "EDITEUR" (dans laquelle tu mettras l'identifiant de la personne éditrice) et une colonne "FICHE_BLOQUEE" (number qui prend une valeur 0 ou 1, 0 par défaut)

    Quand tu ouvres une fiche, tu appelles une méthode synchronisée (afin qu'elle ne soit appelée que par un seul utilisateur à la fois) du grenre reserverFiche(String identifiant_fiche, String editeur) qui devra mettre à jour les deux colonnes. La requête de mise à jour pourrait ressembler à :

    String requete = "UPDATE ma_table set EDITEUR= ?, FICHE_BLOQUEE= 1" +
    "WHERE identifiantFiche= ? AND FICHE_BLOQUEE = 0 " ;


    Ensuite, toujours quand t'es dans la fiche, tu regardes si le bloqueur est ou n'est pas le mec qui a bloquée la fiche.
    C'est une piste....

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/06/2014, 14h50
  2. gestion de la concurrence d'accès
    Par yoyodemars dans le forum ADO.NET
    Réponses: 7
    Dernier message: 29/09/2012, 21h36
  3. [Stratégie] Gestion de la concurrence d'accès
    Par viddak dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 22/10/2008, 12h49
  4. gestion des concurrences d'accès
    Par viny dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 21/11/2006, 14h10
  5. Réponses: 3
    Dernier message: 30/05/2006, 19h09

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