J'ai construit une application simple qui utilise Spring Data 3.1.0.RELEASE et Eclipselink 2.4 sur le serveur - qui est hébergé dans Tomcat 7.0.27. Dans mywebapp/META-INF/context.xml Je Spring classloaderComment faire fonctionner Tomcat avec TomcatInstrumentableClassLoader défini dans META-INF/context.xml avec WEB-INF/lib/spring-instrument-tomcat.jar
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
Si je mets spring-instrument-tomcat.jar
dans $TOMCAT_HOME/lib
alors Tomcat fonctionne bien mywebapp mais si je mets spring-instrument-tomcat.jar
dans le $TOMCAT_HOME/webapps/mywebapp/WEB-INF/lib
- Tomcat meurt à l'exception
java.lang.IllegalStateException: ClassLoader [org.apache.catalina.loader.WebappClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar
paramètre Contexte chargeur useSystemClassLoaderAsParent
set à false
ne permet pas non plus. Je ne veux pas avoir de lib global (custom) dans Tomcat (et il ne sera pas facile d'avoir le global dans notre système de production réel) donc j'essaye de localiser tout ce dont j'ai besoin des choses dans un fichier de guerre simple (mais gros). Des réflexions sur la façon de réaliser une telle encapsulation?
Je dois traiter votre réponse comme la bonne cause, c'est la meilleure solution trouvée jusqu'à présent. Merci! –