A problem with Aspectwerkz and Tomcat's Classloaders
"Maurizio Albari" <[email protected]>
| Newsgroups | gmane.comp.java.aspectwerkz.devel,gmane.comp.java.aspectwerkz.user |
|---|---|
| Message-ID | <[email protected]> |
Maybe I'm doing something wrong, but it seems that running Aspectwerkz 0.9 with Tomcat 5.0.18 (on Sun's JDK 1.4.2_03) , Aspectwerkz works only for classes loaded by "org.apache.catalina.loader.WebappClassLoader" (for example a servlet or an object created in the doGet of a servlet) and does't work for classes loaded by "org.apache.catalina.loader.StandardClassLoader" (for example http request, http response, servlet context, ....).
Does it make sense for anybody ? Is it possible that a different classloader inhibits the ability of Aspectwerkz to intercept calls ?
Any help would be really apreciated.
Thanks in advance.
Maurizio.
PS: Below a more detailed description of the above classloaders
----------------------------------------------------------------------------------------------------------------------------------
WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
StandardClassLoader
delegate: true
repositories:
file:C:\jakarta-tomcat-5.0.18\shared\classes\
----------> Parent Classloader:
StandardClassLoader
delegate: true
repositories:
file:C:\jakarta-tomcat-5.0.18\common\classes\
file:C:\jakarta-tomcat-5.0.18\common\endorsed\xercesImpl.jar
file:C:\jakarta-tomcat-5.0.18\common\endorsed\xmlParserAPIs.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\ant.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-collections.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-dbcp-1.1.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-el.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-pool-1.1.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jasper-compiler.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jasper-runtime.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jmx-remote-tools.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jmx-remote.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jmx.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jsp-api.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-common.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-factory.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-java.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-resources.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\servlet-api.jar
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader
----------------------------------------------------------------------------------------------------------------------------------
StandardClassLoader
delegate: true
repositories:
file:C:\jakarta-tomcat-5.0.18\server\classes\
file:C:\jakarta-tomcat-5.0.18\server\lib\catalina-ant.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\catalina-cluster.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\catalina-i18n-es.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\catalina-i18n-fr.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\catalina-i18n-ja.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\catalina-optional.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\catalina.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\commons-beanutils.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\commons-digester.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\commons-fileupload-1.0.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\commons-modeler.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\jakarta-regexp-1.3.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\jkconfig.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\jkshm.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\servlets-common.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\servlets-default.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\servlets-invoker.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\servlets-webdav.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\tomcat-coyote.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\tomcat-http11.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\tomcat-jk.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\tomcat-jk2.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\tomcat-jni.jar
file:C:\jakarta-tomcat-5.0.18\server\lib\tomcat-util.jar
----------> Parent Classloader:
StandardClassLoader
delegate: true
repositories:
file:C:\jakarta-tomcat-5.0.18\common\classes\
file:C:\jakarta-tomcat-5.0.18\common\endorsed\xercesImpl.jar
file:C:\jakarta-tomcat-5.0.18\common\endorsed\xmlParserAPIs.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\ant.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-collections.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-dbcp-1.1.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-el.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\commons-pool-1.1.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jasper-compiler.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jasper-runtime.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jmx-remote-tools.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jmx-remote.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jmx.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\jsp-api.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-common.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-factory.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-java.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\naming-resources.jar
file:C:\jakarta-tomcat-5.0.18\common\lib\servlet-api.jar
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader