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 :

Servlet et variable Statique bien ou pas bien ?


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut Servlet et variable Statique bien ou pas bien ?
    Voila,

    je vous expose mon problème et ce que je souhaite mettre en place et ainsi avoir votre avis.

    Je suis sous un serveur applicatif Websphère et mon application est exécutée sur 2 cluster.Cette application utilise un répertoire local pour l'affichage de vignette généré à la volée.
    Mon but est de connaître l'espace disque utilisé.

    A l'initialisation de l'application j'appelle un EJB qui va me renvoyer l'espace disque utilisé.

    Ce que je veux faire :

    Au début je voulais stocké cette information au niveau du contexte applicatif mais le contexte applicatif est transverse au 2 clusters ce qui m'empêche donc de connaître l'espace disque consommé pour chacun d'eux.

    D'où l'idée de passé par une variable static dans ma servlet d'initialisation de l'application que j'incrémenterais à chaque fois qu'une nouvelle image est générée, ce qui me permettra d'avoir l'information sur l'espace disque utilisé de chacun des clusters.

    L'idée de passer par une variable static est-elle bonne et judicieuse ?
    ou c'est pas bien du tout ?

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    La variable static étant liée à la jvm, 2 clusters => 2 jvm, donc c'est le même problème...
    A vrai dire, il faudrait invoquer un ejb sur un serveur qui cherchera également l'espace utilisé de l'autre (et inversement)...
    Après, que tu stockes l'information dans le contexte application ou dans des variables static, c'est pareil, il suffit d'en avoir 2 (par serveur, s'il y a 2 serveurs) ou faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public static final int SERVEUR_1 = 0;
    public static final int SERVEUR_2 = 1;
    ...
     
    // une List pour l'espace utilisé
     
    List<Double> diskSpace = new ArrayList<Double>();
     
    // et pour extraire l'info
     
    diskSpace.get(SERVEUR_1)
    Bon, c'est un exemple... rien de plus...
    Je ferais peut-être plutôt un appel à l'ejb pour avoir l'espace au moment de la demande...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Merci OButterlin pour ta réponse.

    La variable static étant liée à la jvm, 2 clusters => 2 jvm, donc c'est le même problème
    Le but justement c'est que chaque jvm soit indépendante l'une de l'autre et appelé par la suite un ejb en Local qui me génère une image et m'en renvoie sa taille si mon quota est atteint alors j'appellerais mon ejb pour nettoyer le disque et remettre ma variable static à jour.

    Je ne sais pas quelle VM sera sollicité plus que l'autre même si en théorie cela devrait être équivalent.

    De plus je ne préfère pas déclarer une variable par serveur pour rester sur quelque chose d'indépendant de la configuration si par la suite on redescend à 1 cluster ou que l'on monterait à 3 et ainsi ne pas à avoir à modifier le code.

    Dans mon cas, la variable statique à l'air d'être la seule option.

    Petite question par rapport à ce que tu dis que le context applicatif serait équivalent à une variable static mais l'on ma dit que le context applicatif couvre les 2 jvm.
    Où est donc la vérité ^^

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par link256 Voir le message
    Petite question par rapport à ce que tu dis que le context applicatif serait équivalent à une variable static mais l'on ma dit que le context applicatif couvre les 2 jvm.
    Où est donc la vérité ^^
    dans ce qu'on t'a dit... j'ai merdé ...
    Normalement, effectivement, les contextes sont dupliqués d'un serveur sur l'autre.
    Ça reste théorique pour moi, je ne l'ai jamais mis en œuvre, je me demande où s'arrête la duplication... j'espère pour toi que les variables static n'en font pas partie...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Je le souhaite en tout cas ^^

    je regrette de ne pas avoir un environement de test équivalent à celui de la production que ce soit en recette ou en local avec du multi cluster qui permettrais de vérifier la théorie

    Mais bon je suis un peu dans le même cas, ca reste théorique je ne me suis jamais posé toutes ses questions jusqu'à aujourd'hui

    ni même les EJB que je découvre aussi pour gérer le cache par cluster.

    le point positif c'est que j'apprend de nouvelle chose et interressante.

    je regrette juste de ne pas trouver au tant d'info que je le voudrais ou souvent en anglais ce qui a tendance à me bloquer hélas

    Me reste encore à me battre avec cette histoire d'ejb 2.1 en singleton ^^

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par link256 Voir le message
    ...
    Me reste encore à me battre avec cette histoire d'ejb 2.1 en singleton ^^
    Argggg !!! du 2.1 (quel dommage que vous ne soyez pas passé sur les EJB3)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Argggg !!! du 2.1 (quel dommage que vous ne soyez pas passé sur les EJB3)
    Oui ^^;

    je bave quand je vois ce que je pourrais faire et me simplifier la vie ^^
    j'en ai encore pour 6 mois de J2EE 1.4 avec la prochaine migration à venir je m'amuserais un peu plus :p

Discussions similaires

  1. [Bien ou pas bien ?] ATI Radeon 2100
    Par Commodore dans le forum Composants
    Réponses: 7
    Dernier message: 10/07/2008, 12h24
  2. Réponses: 1
    Dernier message: 30/05/2007, 11h55
  3. createTextNode('&nbsp;') : bien ou pas bien ?
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 31/01/2007, 12h09
  4. Windows XP 64 bit, Bien ou Pas Bien ?
    Par ePoX dans le forum Windows XP
    Réponses: 12
    Dernier message: 27/12/2005, 15h10
  5. [REQUETE][IMBRIQUEE] Bien ou pas bien?
    Par fabszn dans le forum Langage SQL
    Réponses: 31
    Dernier message: 21/04/2005, 10h57

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