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

Weblogic Java Discussion :

java.net.URL et Weblogic


Sujet :

Weblogic Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2012
    Messages : 7
    Points : 7
    Points
    7
    Par défaut java.net.URL et Weblogic
    Bonjour
    J'ai détecté un pb bloquant avec un serveur weblogic 10 , qui ne l'est pas avec Weblogic 11 , sans que je comprenne pourquoi.
    Dans une classe, on se plante avec un index passant par la valeur -1 , suite à la recherche du string 'WEB-INF' dans une url retournée par l'instruction suivante:
    URL url = Thread.currentThread().getContextClassLoader().getResource("");

    Pour pouvoir faire des traces sans avoir à recompiler la classe (appli livrée par un éditeur) , j'ai déplacé cette instruction dans la jsp appelante et j'ai tracé le résultat:
    Weblo11:
    url=file:/applis/monappli/WEB-INF/classes .... OK
    Weblo10:
    url=file;/bea/wls101/common/lib .... ???
    Non seulement , il n'y a aucune raison de retourner cela mais cela provoque cette erreur dans la recherche du string WEB-INF et cette exception:
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1937)
    at com.infodb.sw.client.Jasper.s(Jasper.java:69)
    at jsp_perceavaltest._jsp.__popup_param_jasper._jspService(__popup_param_jasper.java:214)

    Avez vous une idée de où cela peut venir ? ClassLoader ? Classpath ?
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Bonjour,

    Si à la place tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url = getClass().getResource("");
    Ton chemin ne contiendrait pas le WEB-INF ?

    Romain.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2012
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse rapide, Romain.
    J'ai fait la modif: en effet, maintenant je récupère:
    url=file:/applis/pages/jsp_perceavaltest/_jsp/
    C'està dire le répoertoire où est compilée ma JSP.
    J'imagine que si l'on me relivre la classe java avec la modif que tu m'as indiquée, je récupérerai bien ..../WEB-INF/classes/<LeCheminDeMaClasse>.
    C'est à dire que tout devrait marcher.

    En question subsidiaire, peux tu me dire pourquoi on n'a pas le même résultat entre weblogic10 et weblogic11?
    merci.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Je ne sais pas trop, je n'ai jamais touché à Weblogic, mais j'imagine que la gestion des thread est différente. Je pense que dans Weblogic 10, pour afficher une page JSP, il te crée un nouveau thread à partir d'un classloader différent de celui qui est utilisé pour charger tes propres classes. Chose qu'il ne doit pas faire dans Weblogic 11.

    Mais bon ceci n'est qu'une grosse supposition/devinette, pas une affirmation.

    Romain.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    Août 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2012
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [Résolu]
    OK.
    L'explication doit effectivement être liée à la gestion des threads , différente entre les 2 moteurs.
    Pour info, l'application est initialement prévue pour être déployée sous Tomcat et fonctionne bien dans cet environnement.
    Je vais donc soumettre une demande de modif à l'éditeur.... s'il l'accepte.
    Merci pour la solution.
    A plus
    Bruno

Discussions similaires

  1. Problème avec java.net.url
    Par ismaas dans le forum GWT et Vaadin
    Réponses: 6
    Dernier message: 30/11/2012, 17h50
  2. Tester une connexion java.net.URL
    Par KRis dans le forum Langage
    Réponses: 4
    Dernier message: 14/09/2010, 10h40
  3. java.net.URL et serveur Tomcat
    Par nin2 dans le forum Langage
    Réponses: 3
    Dernier message: 23/08/2010, 18h57
  4. java.net.URL + arborescence
    Par franfr57 dans le forum Général Java
    Réponses: 1
    Dernier message: 13/08/2009, 20h25
  5. [tomcat][memoire] java.net.URL et fuite mémoire
    Par Seiya dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 09/03/2009, 11h41

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