I have more data - I hacked Facelets 1.1.2 to spit out some ClassLoader info. What I
found is that in one case, when calling Renderer.render(myTemplate), the Classloader is
the EAR's classloader.
In the other case, the classloader is the war's classloader.
not working - ear's classloader
| 11:42:20,157 INFO com.evergreen.accesscontrol.impl.MailSenderBean -
| Classloader funtime:Me: com.evergreen.accesscontrol.impl.MailSenderBean@62f2d1
| My Classloader: org.jboss.mx.loading.UnifiedClassLoader3@1d52240{
url=file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear
,addedOrder=49}
| My Classloader's parent:
org.jboss.mx.loading.HeirarchicalLoaderRepository3$NoParentClassLoader@f579de
| My Classloader's parent's parent:
org.jboss.system.server.NoAnnotationURLClassLoader@ab95e6
|
| 11:42:20,157 INFO com.sun.facelets.compiler.Compiler - Initializing
| 11:42:20,157 INFO com.sun.facelets.compiler.TagLibraryConfig - I am using a
classloader obtained from 'Thread.currentThread().getContextClassLoader()'.
| 11:42:20,157 INFO com.sun.facelets.compiler.TagLibraryConfig - Classloader ->
org.jboss.mx.loading.UnifiedClassLoader3@1d52240{
url=file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859acc
| ess-control-1.0.ear ,addedOrder=49}
| 11:42:20,157 INFO com.sun.facelets.compiler.TagLibraryConfig - Classloader.parent
-> org.jboss.mx.loading.HeirarchicalLoaderRepository3$NoParentClassLoader@f579de
| 11:42:21,017 INFO com.sun.facelets.compiler.Compiler - UILibrary.Namespace
->http://java.sun.com/jsf/facelets
| 11:42:21,017 WARN com.sun.facelets.compiler.Compiler - Missing Built-in Tag
Libraries! Make sure they are included within the META-INF directory of Facelets' Jar
| 11:42:21,017 INFO com.sun.facelets.compiler.Compiler - Initialization Successful
|
|
working - war's classloader
| 11:45:35,928 INFO com.evergreen.accesscontrol.impl.MailSenderBean - sending email:
mail/access-request-complete-user.xhtml
| 11:45:35,928 INFO com.evergreen.accesscontrol.impl.MailSenderBean -
| Classloader funtime:Me: com.evergreen.accesscontrol.impl.MailSenderBean@e530d5
| My Classloader: org.jboss.mx.loading.UnifiedClassLoader3@1d52240{
url=file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear
,addedOrder=49}
| My Classloader's parent:
org.jboss.mx.loading.HeirarchicalLoaderRepository3$NoParentClassLoader@f579de
| My Classloader's parent's parent:
org.jboss.system.server.NoAnnotationURLClassLoader@ab95e6
|
| 11:45:35,928 INFO com.sun.facelets.compiler.Compiler - Initializing
| 11:45:35,928 INFO com.sun.facelets.compiler.TagLibraryConfig - I am using a
classloader obtained from 'Thread.currentThread().getContextClassLoader()'.
| 11:45:35,928 INFO com.sun.facelets.compiler.TagLibraryConfig - Classloader ->
WebappClassLoader
| delegate: false
| repositories:
| /WEB-INF/classes/
| ----------> Parent Classloader:
| java.net.FactoryURLClassLoader@146eb1b
|
| 11:45:35,928 INFO com.sun.facelets.compiler.TagLibraryConfig - Classloader.parent
-> java.net.FactoryURLClassLoader@146eb1b
| 11:45:36,819 INFO com.sun.facelets.compiler.TagLibraryConfig - Added Library from:
jar:file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear-contents/access-control-w
| ebapp-1.0-exp.war/WEB-INF/lib/jsf-facelets-1.1.12E.jar!/META-INF/jsf-ui.taglib.xml
| 11:45:36,819 INFO com.sun.facelets.compiler.TagLibraryConfig - Added Library from:
jar:file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear-contents/access-control-w
| ebapp-1.0-exp.war/WEB-INF/lib/jsf-facelets-1.1.12E.jar!/META-INF/jstl-fn.taglib.xml
| 11:45:36,834 INFO com.sun.facelets.compiler.TagLibraryConfig - Added Library from:
jar:file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear-contents/access-control-w
| ebapp-1.0-exp.war/WEB-INF/lib/jsf-facelets-1.1.12E.jar!/META-INF/jstl-core.taglib.xml
| 11:45:36,834 INFO com.sun.facelets.compiler.TagLibraryConfig - Added Library from:
jar:file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear-contents/access-control-w
| ebapp-1.0-exp.war/WEB-INF/lib/jsf-facelets-1.1.12E.jar!/META-INF/jsf-html.taglib.xml
| 11:45:36,850 INFO com.sun.facelets.compiler.TagLibraryConfig - Added Library from:
jar:file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear-contents/access-control-w
| ebapp-1.0-exp.war/WEB-INF/lib/jboss-seam-ui-1.1.6.jar!/META-INF/seam-ui.taglib.xml
| 11:45:36,850 INFO com.sun.facelets.compiler.TagLibraryConfig - Added Library from:
jar:file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear-contents/access-control-w
|
ebapp-1.0-exp.war/WEB-INF/lib/jboss-seam-mail-1.1.6.jar!/META-INF/seam-mail.taglib.xml
| 11:45:36,866 INFO com.sun.facelets.compiler.TagLibraryConfig - Added Library from:
jar:file:/C:/jboss-4.0.4.EJB.3RC8/server/default/tmp/deploy/tmp44859access-control-1.0.ear-contents/access-control-w
| ebapp-1.0-exp.war/WEB-INF/lib/jsf-facelets-1.1.12E.jar!/META-INF/jsf-core.taglib.xml
| 11:45:36,866 INFO com.sun.facelets.compiler.Compiler - Initialization Successful
|
So how is it that in one case, the ear classloader is used, in another, nearly iidentical
case, the webapp's classloader is used?
Thanks,
Brad Smith
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4021202#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...