Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1751 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Tomcat : charger une resource présente dans le Shared Class loader

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tomcat : charger une resource présente dans le Shared Class loader

n°1955453
Barnabe43
Posté le 06-01-2010 à 12:15:26  profilanswer
 

Bonjour,
 
J'ai lu une doc sur tomcat et les classloader :
http://www-igm.univ-mlv.fr/~dr/XPO [...] .php?rub=9
 
Cependant je n'arrive toujours pas à charger une ressource (.properties) présente dans tomcat/shared/classes.
Dans mon catalina.conf, ce dossier est bien spécifié comme valeur :  


shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar


Ensuite il existe sur le filesystem la resource que je veux charger : il s'agit de ${catalina.base}/shared/classes/alfresco/extension/services.properties
 
Dans mon code j'ai essaié toutes les syntaxe de chargement du fichier :

Code :
  1. URL url = Thread.currentThread().getContextClassLoader().getResource(
  2.                 "alfresco/extension/msc-services.properties" );
  3.         url = Thread.currentThread().getContextClassLoader().getResource(
  4.                 "alfresco/extension/msc-services" );
  5.         url = Thread.currentThread().getContextClassLoader().getResource(
  6.                 "alfresco.extension.msc-services.properties" );
  7.         url = Thread.currentThread().getContextClassLoader().getResource(
  8.                 "alfresco.extension.msc-services" );
  9.         url = Thread.currentThread().getContextClassLoader().getResource(
  10.                 "/alfresco/extension/msc-services.properties" );


A chaque fois, url a la valeur null (= ressource non trouvée).
 
Particularité : l'affichage de Thread.currentThread().getContextClassLoader() donne :
 


Thread.currentThread().getContextClassLoader()
     (org.apache.catalina.loader.WebappClassLoader) WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@181b3d4


...tout comme s'il n'existait que le webapp class loader. Alors que le shared class loader a été défini.
 
Une idée pour charger ma ressource ?
 
Merci  :jap:


Message édité par Barnabe43 le 06-01-2010 à 12:16:10

---------------
Asus P5Q Pro | C2D E8400 3GHz@3.7GHz | Noctua NH-C12P | Extreme Patriot 2x2Go  DDR2-PC8500 | Inno 3D GeForce GTX 260 | WD Raptor 74Go 8Mo | Raid0 Seagate Barracuda 7200.12 500Go
mood
Publicité
Posté le 06-01-2010 à 12:15:26  profilanswer
 

n°1955464
Barnabe43
Posté le 06-01-2010 à 12:33:21  profilanswer
 

Youpi, je viens de trouver ! :)
 
Alors la réponse :
 
En fait, en lisant consciencieusement (:D) la doc tomcat et les classloader, le WebAppClassLoader est fils du SharedClassLoader donc on accède au SharedClassLoader (et la ressource que je souhaite) avec :
 

Code :
  1. URL url = Thread.currentThread().getContextClassLoader().getParent()
  2.                 .getResource( "alfresco/extension/services.properties" );


Note : getParent() monte dans la hierarchie des classloader.
 
Merci qd même :)


---------------
Asus P5Q Pro | C2D E8400 3GHz@3.7GHz | Noctua NH-C12P | Extreme Patriot 2x2Go  DDR2-PC8500 | Inno 3D GeForce GTX 260 | WD Raptor 74Go 8Mo | Raid0 Seagate Barracuda 7200.12 500Go
n°1963040
Pourriture​ Communist
Posté le 04-02-2010 à 17:36:30  profilanswer
 

les fichiers .properties dans /extension, au lieu de /messages ?
 [:delarue5]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Tomcat : charger une resource présente dans le Shared Class loader

 

Sujets relatifs
Site web en java (jsp/servlet) sous Apache/Tomcat Warning: mysql_num_rows() expects parameter 1 to be resource
Affichage Loader et bouclage d'animationClass Template + Friend
JOnAS Variables d'environnement comme avec Tomcat ???JBoss et les valves Tomcat
Forcer l'utilisation des class officielles de connexionerreur tomcat: java.lang.NoClassDefFoundError
Tomcat inaccessibleErreur à la compilation en utilisant driver postgresql. Classpath?
Plus de sujets relatifs à : Tomcat : charger une resource présente dans le Shared Class loader


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR