[ http://jira.jboss.com/jira/browse/JBAS-1602?page=history ]
Stan Silvert updated JBAS-1602:
-------------------------------
Attachment: TldLocationsCache.java
> 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
> Priority: Critical
> Attachments: 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
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-development