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

Hibernate Java Discussion :

Session MultiClient Non Web


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de DjGonk
    Profil pro
    Inscrit en
    Février 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 88
    Par défaut Session MultiClient Non Web
    Bonjour voilà je me pose une question :

    Je désire mettre en place une architecture client serveur non web, avec une bd Postgresql.

    J'utilise Hibernate, et j'aimerais utiliser les Lock proposés par l'objet Session. C'est à dire savoir si lors d'un update sur une table par exemple, la ligne de la table est déjà véroullée par un autre client ou par le serveur lui même.

    Le problème c'est qu'il faut partager cette Session entre mon serveur et mes differents clients. Comment faire?

    J'avais une idée mais je ne suis pas sur : envoyer mon Objet Session par socket aux clients lors de leur connexion puisque l'objet Session est "serializable".

    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    J'avoue ne pas bien comprendre la question ....
    Si tu as une architecture client/serveur non web, il n'en reste pas moins que seul ton serveur accède à la base de données non ? Sinon je ne vois pas en quoi tu as un serveur ...

  3. #3
    Membre éclairé Avatar de DjGonk
    Profil pro
    Inscrit en
    Février 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 88
    Par défaut
    Ben en fait j'ai un serveur qui interroge périodiquement des équipements et les clients visualise ces informations. Et non il n'y a pas que mon serveur qui accède à la bd, car de nombres échanges sont prévus entre le serveur et le client. Et c'est plus simple de passer directement par la bd pour des problèmes de performances.

  4. #4
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    A ma connaissance partager l'objet Session n'est pas possible comme tu le voudrais.
    Sinon, il doit y avoir moyen qu'une Session voit les locks posés par une autre Session, mais là j'avoue mon ignorance.

    Quoi qu'il arrive, je reste tout de même persuadé que l'idée d'avoir les clients qui accèdent à la base de donnée n'est pas judicieuse, et doute fortement que tu vois la différence en termes de performance ...

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Je ne pense pas que ce soit une bonne idée de poser des locks sur la base.
    Tu devrais plutôt regarder du coté du versionning pour gérer les accès concurrents.

    Concernant l'accès direct à la base, sans passer par le serveur, je ne vois pas en quoi c'est un problème.

  6. #6
    Membre éclairé Avatar de DjGonk
    Profil pro
    Inscrit en
    Février 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 88
    Par défaut
    Effectivement j'ai déjà essayer de mettre des LockMode lors de requêtes avec des Objets Session différents, cela fonctionne en "partie".

    Je m'explique un processus T1 pose un verrou pour un SELECT FOR UPDATE, et fait un sleep de 20 secondes. Le processus T2 fait la même opération pour le même enregistrement mais il est mis en attente tant que T1 n'a pas fini, donc d'un côté il ne voit le verrou, mais je préfère que la transaction de T2 échoue et n'attende pas.

    Par contre le passage de Session en flux d'objet dans les sockets c'est une mauvaise idée, je le reconnais et cela ne marche pas. Je pense que je vais surement regarder le versionnage mais cela peut ce faire dans la bd ou dans le mapping hibernate?

Discussions similaires

  1. [Tomcat 5.5] Sessions persistantes / non sérialisables
    Par Gildas Huart dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 24/05/2007, 23h01
  2. [Cookies] Session.. ou non ?
    Par Arkinou dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2006, 18h57
  3. sessions et non affichage de la bonne session
    Par oceane751 dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2006, 17h52
  4. [Sécurité] utiliser session ou non ?
    Par tigzirt dans le forum Langage
    Réponses: 5
    Dernier message: 12/05/2006, 14h48
  5. [JSP]recuperer session-timeout dans web.xml
    Par seb_fou dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/05/2004, 16h01

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