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

Logging Java Discussion :

Probleme avec commons logging


Sujet :

Logging Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut Probleme avec commons logging
    Bonjour,
    J'ai le message suivant :

    java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.exolab.castor.util.Configuration.<clinit>(Configuration.java:105)
    at org.exolab.castor.xml.Unmarshaller.initConfig(Unmarshaller.java:272)
    at org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:225)
    at org.exolab.castor.xml.Unmarshaller.<init>(Unmarshaller.java:212)
    at org.exolab.castor.mapping.Mapping.loadMappingInternal(Mapping.java:527)
    at org.exolab.castor.mapping.Mapping.loadMapping(Mapping.java:438)
    at fr.cif.bpi.edf.services.ibdf.utils.OutilsIBdf.generateXmlFromData(OutilsIBdf.java:53)
    at fr.cif.bpi.edf.metier.service.interrogerBdf.InterrogerBdfServiceImpl.requestAndPopulateIbdf(InterrogerBdfServiceImpl.java:435)
    at fr.cif.bpi.edf.metier.service.interrogerBdf.InterrogerBdfServiceImpl.posterLInterrogationBdf(InterrogerBdfServiceImpl.java:392)
    at fr.cif.bpi.edf.metier.service.interrogerBdf.InterrogerBdfServiceImpl.envoiETSauvegardeFccFicp(InterrogerBdfServiceImpl.java:262)
    at fr.cif.bpi.edf.metier.service.interrogerBdf.InterrogerBdfServiceImpl.traiterInterrogation(InterrogerBdfServiceImpl.java:205)
    at fr.cif.bpi.edf.metier.service.interrogerBdf.InterrogerBdfServiceImpl.saveInterrogationBdf(InterrogerBdfServiceImpl.java:137)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:288)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:57)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
    at $Proxy16.saveInterrogationBdf(Unknown Source)
    at fr.cif.bpi.edf.metier.facade.demandePret.DemandePretFacadeImpl.interrogerBdf(DemandePretFacadeImpl.java:243)
    at fr.cif.bpi.edf.presentation.action.accueil.BdfAction.fichageBdf(BdfAction.java:87)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
    at org.apache.struts.actions.MappingDispatchAction.execute(MappingDispatchAction.java:171)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1006)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at fr.cif.bpi.edf.presentation.filter.TimerFilter.doFilter(TimerFilter.java:74)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at fr.cif.bpi.edf.presentation.filter.SecurityFilter.doFilter(SecurityFilter.java:131)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6724)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3764)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2644)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
    Sachant que mon classpath est bon (contient commons-logging, castor, log4j ...), je ne sait pas du tout d'ou ça vient, je ne comprend pas pourquoi le ClassLoader n'arriva pas à resoudre LogFactory.
    Environnement d'exec : web app deployer dans weblogic 8.1.
    Une idée serai la bienvenue. Merci d'avance

  2. #2
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    bon je ne sais pas trop mais je lance une idée ...

    ton jar est en local sur le serveur ?

    si oui, il est peut etre corrompu ...

    parce que ça ressemble à un pb de classpath quand meme, alors si tu es sûr de toi ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut Integreté
    Je vais vérifier l'integrité de tout mes jar. En effet ils sont en local server.
    J'avais pensé à ça, mais j'avais vérifier l'integrité de commons-logging.jar seulement (qui est bien integre) mais les autres je ne sais pas encore.
    Thanks

  4. #4
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    mais tu testes avec un IDE ou en ligne de commande ? Par ce que si c'est un IDE il faut gérer le classpath à son niveau, pas au niveau du système il me semble ...

    enfin bref. Tu es vraiment vraiment sûr de ton classpath ? (parce que je vois pas sinon .. )

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut Suite
    Au niveau de l'IDE, la class concernée passe les testes sans probleme, avec aucune exceptions.
    Plus en detail, l'exception est lancer dans un environement serveur d'appli en local, c'est une web app deployer sous weblogic 8.1.
    Plus en detail, l'exception est lancée par la librairie castor dans la methode loadMapping, la methode qui permet de charger un xml mappant objet/fluxXml.
    J'ai vérifié l'integrité de mes jars, pas de soucis.
    Je suis vraiment depité, je n'y comprend plus rien, j'ai peur que ça soit un truc vraiment bidon.
    Merci pour vos idées, je suis bien sur ouvert à toutes propositions.
    Désolé de ma reactivité, je suis sur plusieurs choses en meme temps.
    voilà les libs dans mon war :
    activation.jar
    antlr-2.7.5H3.jar
    asm-1.5.3.jar
    castor-0.9.9.jar
    castor-0.9.9-xml.jar
    cglib-2.1_2.jar
    commons-beanutils.jar
    commons-codec.jar
    commons-collections.jar
    commons-configuration-1.0-dev.jar
    commons-digester.jar
    commons-lang-2.0.jar
    commons-logging.jar
    commons-validator.jar
    displaytag-1.0_3600kj.jar
    dom4j-1.6.1.jar
    ehcache-1.1.jar
    hibernate3.jar
    httpclient-3.0.jar
    itext-1.3.jar
    jakarta-oro.jar
    log4j-1.2.9.jar
    mail.jar
    oscache-2.1.jar
    spring.jar
    struts.jar
    xercesImpl-2_5_0.jar
    xsnapshot-1.0_3600kj.jar
    Si vous aviez dejà eu des conflits, je suis à l'écoute.(les lib que vs ne connaissaient pas ne posent pas probleme)
    Merci d'avance de votre aide

  6. #6
    Membre expérimenté
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Par défaut
    Commons-logging est bien connu pr ses problèmes de ClassLoading dans des environnements serveurs. A tu essayé, pour tester, de déployer common-logging.jar et log4j.jar dans le repertoire lib du serveur directement ?

    Matthieu

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut Deployement
    Je crains, qu'il y est trop d'impact en production pour d'autres applis.
    Je vais le tenter en dev.
    J'ai lu quelques part que ce style d'exception est lancée qd on affect deux meme type d'objet charger par des ClassLoader differents, mais bon detecter ce genre de peste dans un code ça doit pas etre le joie.
    C'est dernier temps, je viens de remanier ma factory qui est instancie le logger, elle n'était pas definit en tant que bon singleton, je les refactoré pour qu'elle soit vraiment un singleton, je ne sais pas si ça a un impact. Je vais essayer d'analyser ça de plus pres.
    Merci encore

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut
    ......ma factory qui instancie le logger

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 6
    Par défaut logging
    Apres investigation voilà ce que j'ai decouvert :
    les bouts de code concernés : (c'est un apperçu du code pour explication)

    Dans une Class OutilsIBdf:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private static ILog log = LogImpl.getInstance(OutilsIBdf.class.getName());
    Mapping mapping = new Mapping(OutilsIBdf.class.getClassLoader());     mapping.loadMapping("fichier.xml"));
    Exception lancée :
    java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.exolab.castor.util.Configuration.<clinit>(Configuration.java:105)...
    Dans la class configuration de Castor on instancie une variable Log avec l'aide d'un LogFactory. Cette derniere class n'est pas accessible! Pourquoi? sachant mes lib dans le war sont impecc!
    J'ai essayé de verifier les class loader, j'ai trouvé:
    Pour OutilsIBdf :
    weblogic.utils.classloaders.ChangeAwareClassLoader@16becfe
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@1e67280,
    annotation: _appsdir_edf_war@edf, parent: weblogic.utils.classloaders.GenericClassLoader@94310b
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@675039,
    annotation: _appsdir_edf_war@, parent: weblogic.utils.classloaders.GenericClassLoader@9801f4
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@c3d9ac,
    annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@1db6942
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@7d8bb,
    annotation: null, parent: sun.misc.Launcher$AppClassLoader@53ba3d))))
    Pour Ilog :
    weblogic.utils.classloaders.ChangeAwareClassLoader@16becfe
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@1e67280,
    annotation: _appsdir_edf_war@edf, parent: weblogic.utils.classloaders.GenericClassLoader@94310b
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@675039,
    annotation: _appsdir_edf_war@, parent: weblogic.utils.classloaders.GenericClassLoader@9801f4
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@c3d9ac,
    annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@1db6942
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@7d8bb,
    annotation: null, parent: sun.misc.Launcher$AppClassLoader@53ba3d))))
    Pour Mapping :
    sun.misc.Launcher$AppClassLoader@53ba3d
    Ainsi, à priori, LogFactory ne peut etre resolu à partir de sun.misc.Launcher$AppClassLoader@53ba3d

    Je suis dans le cas ou un class loader parent ne voit pas des classes vu par des classes loader fils! Pourtant mon mapping est initialisé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Mapping(OutilsIBdf.class.getClassLoader());
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OutilsIBdf.class.getClassLoader()
    correspond à :
    weblogic.utils.classloaders.ChangeAwareClassLoader@16becfe
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@1e67280,
    annotation: _appsdir_edf_war@edf, parent: weblogic.utils.classloaders.GenericClassLoader@94310b
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@675039,
    annotation: _appsdir_edf_war@, parent: weblogic.utils.classloaders.GenericClassLoader@9801f4
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@c3d9ac,
    annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@1db6942
    ( finder: weblogic.utils.classloaders.CodeGenClassFinder@7d8bb,
    annotation: null, parent: sun.misc.Launcher$AppClassLoader@53ba3d))))
    J'y comprend rien! si vous aviez des idées je suis preneur, merci.
    Désolé, ce post demande un peu de concentration, mais bon c'est notre metier A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec le Logging Block et W7
    Par WOLO Laurent dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 22/11/2011, 09h07
  2. probleme avec common fileupload 1.2.1
    Par riadhhwajdii dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 28/12/2009, 11h34
  3. Probleme avec des logs générés par une application
    Par yayamo dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 16/04/2008, 14h41
  4. Probleme avec une fonction d'ecriture de logs
    Par maxoudu328 dans le forum Windows
    Réponses: 3
    Dernier message: 09/05/2007, 00h48
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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