Avevo creato una semplice app che utilizza Spring Data 3.1.0.RELEASE e Eclipselink 2.4 sul lato server - che è ospitato in Tomcat 7.0.27. In mywebapp/META-INF/context.xml ho classloader PrimaveraCome far funzionare Tomcat con TomcatInstrumentableClassLoader definito in META-INF/context.xml insieme a WEB-INF/lib/spring-instrument-tomcat.jar
<Loader loaderClass="org.springframework.instrument.classloading.tomcat.TomcatInstrumentableClassLoader"/>
Se metto spring-instrument-tomcat.jar
in $TOMCAT_HOME/lib
poi Tomcat corre mywebapp bene, ma se ho messo spring-instrument-tomcat.jar
nella $TOMCAT_HOME/webapps/mywebapp/WEB-INF/lib
- Tomcat muore con l'eccezione
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
Il parametro del caricatore di contesto useSystemClassLoaderAsParent
impostato su false
non è di aiuto.
Non voglio avere alcuna lib (globale) globale in Tomcat (e non sarà facile avere quello globale nel nostro sistema di produzione della vita reale), quindi sto cercando di localizzare tutto il necessario roba in un semplice (ma grande) file di guerra. Qualche idea su come ottenere tale incapsulamento?
Devo trattare la tua risposta come corretta perché è la soluzione migliore trovata finora. Grazie! –