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 :

Erreur Class Loader


Sujet :

Weblogic Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 80
    Par défaut Erreur Class Loader
    Bonjour,

    Dans une appli web (sous weblogic).

    J'ai un système de plugin, qui scan un répertoire et ajoute les nouveaux url dans un classloader lorsque un fichier a été ajouter.

    Mon chargeur de plugin utilise la reflection pour accèder à la private method "addURL(..)".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    URLClassLoader sysloader = (URLClassLoader)ClassLoader.getSystemClassLoader();
    Voila comment je récupère mon ClassLoader. Les url ajoutés doivent être accessible de partout dans mon appli.

    Lorsque je démarre mon application avec un main, tout est ok.

    Lorsque je la démarre dans une servlet d'initialisation, il ne trouve pas les classes demandées.

    J'en conclu donc, que lui n'utilise pas le SystemClassLoader.

    Mais alors lequel ?


    Merci à vous (j'ai un peu de mal avec ces classloader)

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Weblogic fournie un classloader différent pour chaque appli.
    C'est très moche d'accéder à une méthode private. Si elle est private, c'est qu'elle a de bonnes raisons de l'être. Peut-être que dans l'implémentation du classloader fournie par Weblogic, le "addUrl" est toujours appelé conjointement à une autre méthode, ou alors il n'est jamais appelé. Et c'est impossible à savoir ! Si malgré tout, on peut imaginer décompiler pour voir comment le classloader fournie fonctionne, rien ne nous dit que dans une version future cela fonctionne toujours. C'est pour cette raison qu'il est primordiale de n'utiliser que les méthodes autorisées. L'idéal, dans ton cas, est de faire ton propre classLoader. Au moins, tu peux tout gérer, et tu es indépendant de l'environnement : standalone ou serveur d'appli.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 80
    Par défaut
    C'est en effet une façon sale de programmer.

    Mon but était que je puisse upload des jar, et que les urls de ces jars soit directement ajouter au ClassLoader le plus haut possible.

    Je suis obliger d'utiliser cette méthode car, les classes nouvellement ajoutées sont chargées par Quartz, qui gère l'instanciation lui même.

    Je vais mettre de coté ce système de plugin jusqu'a ce que je trouve une méthode plus propre.

    Merci !

Discussions similaires

  1. [Class Loader] changer le class loader par défaut
    Par Didier 69 dans le forum Langage
    Réponses: 1
    Dernier message: 17/10/2006, 14h02
  2. Utilisation javah --> Erreur : Class XXXX could not be fo
    Par vano dans le forum Général Java
    Réponses: 6
    Dernier message: 09/05/2005, 21h32
  3. [Débutant(e)]Erreur 'class' or 'interface' expect
    Par chevy dans le forum Général Java
    Réponses: 7
    Dernier message: 30/03/2005, 08h13
  4. [Message d'erreur] Classe d'exception
    Par Pascal dans le forum Bases de données
    Réponses: 4
    Dernier message: 23/05/2004, 10h08
  5. erreur sql loader et performance
    Par mobisky dans le forum SQL*Loader
    Réponses: 14
    Dernier message: 20/08/2003, 12h27

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