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 :

Les variables de contexte dans un environnement distribué


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Points : 43
    Points
    43
    Par défaut Les variables de contexte dans un environnement distribué
    Salut,

    imaginons une application déployée sur deux serveurs séparés par un load balancer.

    chacun des serveurs est démarré à part donc chaque serveur initialise son contexte avec les variables sur le web.xml.

    imaginons maintenant, qu'un utilisateur revoit une requête qui est redirigée par le balancer vers le serveur1 noté s1. sur ce serveur l'utilisateur met une variable sur le contexte du s1, la deuxième requête est envoyée pour une raison ou autre vers le s2.

    le client ne trouve pas la variable sur le contexte du s2...

    c'est ce qui parait logique, alors c'est quoi le mécanisme mis en place par J2EE pour remédier à une telle problématique...contexte commun, migration...

    merci pour votre collaboration,
    cordialement

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    d'abord de quel contexte tu parle? Ensuite, si on parle des session, J2EE ne prévois rien. Plus précisément, les mécanisme de loadbalancing sont à la charge du conteneur. Par exemple, sous JBoss, ils sérialise la session utilisateur et l'échange entre les éléments du clusters. Mais le plus propre reste d'avoir un balancer qui balance toujours le même user du même coté, c'est le plus performant.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Points : 43
    Points
    43
    Par défaut
    je parlais du servlet-contexte et non les sessions..

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    il n'est pas partagé. La doc est très claire là dessus

    There is one context per "web application" per Java Virtual Machine.
    Traduction= il y a un contexte par web application par machine virtuelle.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Points : 43
    Points
    43
    Par défaut
    dans ce cas, comment résoudre la problèmatique sur mon premier post,

    apparemment l'idée qu'un utilisateur ajouter un variable sur le contexte n'est pas une bonne idée, puisque ce contexte ne sera pas partager par toutes les instances de JVM, tu confirmes?

    merci encore

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    je confirme. En même temps, j'ai rarament vu des applicaiton qui avaient besoin de modifier des trucs dans le contexte global, autre que la configuration qui se fait au démarrage. Ce qu'on met en global, c'est souvent des chose qui doivent être préservée (la liste des utilisteur autorisé, le nom de l'entreprise, que sais-je, tout ce qui se configure avec une console d'administration). Hors, tout ça, ca doit être maintenu aussi d'un démarrage à l'autre. Donc, direction la base de donnée, c'est plus propre

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 139
    Points : 43
    Points
    43
    Par défaut
    ok, je fais appel à ma chère bd alors

Discussions similaires

  1. Sauvegarder les variables de context dans le fichier Defaut.properties
    Par xionz dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 17/06/2009, 11h54
  2. Comment centraliser les données de context dans un seul fichier ?
    Par Scorpio85 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 31/07/2008, 14h37
  3. [Talend] - Utilisation d'une variable de context dans un tPostgresqlInput
    Par lolotte35 dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 07/11/2007, 15h17
  4. [MySQL] Importer/exporter les variables courante d'/dans une base
    Par vovor dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/07/2007, 22h43
  5. Réponses: 3
    Dernier message: 09/01/2007, 09h44

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