[ http://jira.jboss.com/jira/browse/JBAS-1602?page=history ]
Scott M Stark updated JBAS-1602: -------------------------------- Assign To: Scott M Stark Fix Version: JBossAS-4.0.2 Final > Can't use container level taglibs > --------------------------------- > > Key: JBAS-1602 > URL: http://jira.jboss.com/jira/browse/JBAS-1602 > Project: JBoss Application Server > Type: Bug > Components: Web (Tomcat) service > Reporter: Stan Silvert > Assignee: Scott M Stark > Priority: Critical > Fix For: JBossAS-4.0.2 Final > Attachments: EmbeddedServletOptions.java, TldLocationsCache.java > > > JBoss/Tomcat needs a way to install tag libraries globally so they are > available to all web applications. This functionality is mentioned in the > JSP 2.0 spec section 7.3.5. In Tomcat standalone, you can do this, but it > doesn?t work in JBoss/Tomcat. > The way this works is that the Jasper TldLocationsCache ?Scans all JARs > accessible to the webapp's classloader and its parent classloaders for TLDs.? > If I put my jar into Tomcat standalone?s common/lib directory then the tag > library will be shared across all web apps. I?ve tried putting the jar in > several ?well known? locations in JBoss/Tomcat and nothing seems to work. > For Reference, I?ve attached the TldLocationsCache source code from Tomcat > 5.5.8. > Concerning TldLocationsCache, Scott Stark says: > "This class is useless for non-URLClassLoaders and URLClassLoaders that do > not expose their classpath via getURLs which is what we currently do because > of an old bad behavior with annotated codebases of rmi classes. " > Remy Maucherat offered this as a possible solution: > Would it be possible to have the ENCLoader facade return more interesting > things ? > /** > * A trival extension of URLClassLoader that uses an empty URL[] as its > * classpath so that all work is delegated to its parent. > */ > static class ENCLoader extends URLClassLoader > { > private URL[] urllist = new URL[0]; > ENCLoader(ClassLoader parent) > { > super(new URL[0], parent); > } > void addURLInternal(URL url) > { > URL[] result = new URL[urllist.length + 1]; > for (int i = 0; i < urllist.length; i++) > result[i] = urllist[i]; > result[urllist.length] = url; > urllist = result; > } > public URL[] getURLs() > { > return urllist; > } > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira ------------------------------------------------------- This SF.net email is sponsored by Demarc: A global provider of Threat Management Solutions. Download our HomeAdmin security software for free today! http://www.demarc.com/info/Sentarus/hamr30 _______________________________________________ JBoss-Development mailing list JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development