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

Weblogic Java Discussion :

Champ static - Weblogic 8.1 - JSP


Sujet :

Weblogic Java

  1. #1
    Futur Membre du Club
    Champ static - Weblogic 8.1 - JSP
    Bonjour,


    J'ai une classe constante qui contient :
    public static final int VALEUR_FINAL1 = 1;
    public static final int VALEUR_FINAL2 = 2;
    public static final int VALEUR_FINAL = VALEUR_FINAL2;

    J'ai une jsp qui contient un javascript :
    test(Constantes.VALEUR_FINAL,Constantes.VALEUR_FINAL1,Constantes.VALEUR_FINAL2);

    Cette fonction test effectue :
    if (FINAL == FINAL1) alert ('1') else if (FINAL == FINAL2) alert ('2')

    Lorsque je déploie mon ear la valeur du champ FINAL vaut celle de VALEUR_FINAL2. Ce qui est normal.


    Quand je met la valeur 'VALEUR_FINAL = VALEUR_FINAL1' dans le fichier de constantes et que je redéploie la valeur dans la JSP pour FINAL est restée à VALEUR_FINAL2. Cas anormal.

    Si je vais dans la page JSP et que je modifie la page en ajoutant un espace et que je redéploie alors le champ FINAL passe à VALEUR_FINAL1....

    Est ce quelqu'un pourrait m'expliquer pourquoi et comment corriger ce problème???

  2. #2
    Membre confirmé
    Ton problème ressemble à une problématique de cache.
    Ton serveur d'application compile la JSP, et y inclus directement les valeurs de constantes. Lors du déploiement suivant, la version compilée reste dans le cache, car le serveur ne détecte pas de modification de la JSP, malgré la modification de ta constante. Lorsque tu modifie la JSP (avec un simple espace), le serveur détecte la modif et recompile.

  3. #3
    Futur Membre du Club
    Oui je m'en suis douté mais même lorsque je déclare la variable sans final, weblogic considère que la jsp n'a pas changé.
    Comment faire pour le forcer à évaluer cette valeur??

  4. #4
    Membre confirmé
    De quelle manière redéploies-tu ton EAR ? Le mode peut impacter la manière dont Weblogic prend en compte les modifications.
    J'ai trouvé les liens suivants qui traitent du sujet :
    http://e-docs.bea.com/wls/docs81/dep...w.html#1039281
    http://e-docs.bea.com/wls/docs81/dep...s.html#1013741

  5. #5
    Futur Membre du Club
    je suis en mode production sur weblogic. Dès que je livre mon EAR, il le redéploie automatiquement...
    J'ai fait une manip entre temps, elle fonctionne mais bon c'est vraiment pourri.
    Je fais appel dans ma JSP au constructeur de mon fichier de constantes.
    Ce constructeur initialise mon champ static et ainsi quand je redéploie mon ear et que j'ai changé la valeur de ma constante, cela change le fonctionnement de ma JSP.
    MAis bon j'aimerai bien trouver une solution plus "propre"

###raw>template_hook.ano_emploi###