geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jarek Gawor <>
Subject tld scanning/jstl/myfaces update
Date Tue, 09 Feb 2010 05:18:05 GMT

Just an updated on my tld scanning/discovery work.

I had to patch our Tomcat code in order for Jasper to parse TLDs
directly in a bundle. Jasper assumed the TLDs is either within the
application bundle (accessible via ServletContext) or within a jar
file and in which case it required a jar file url. But in our
environment there was no easy way to pass a jar file url for a bundle.
I submitted the same patch to Tomcat but not sure if it will be

The TLDs provided by JSTL or Myfaces are made available via
TldProvider services registered in the service registry. The Jasper
plugin registers the TldProvider service with TLDs on behave of the
JSTL bundle and Myfaces plugin does the same for Myfaces impl bundle.
Now, Jasper via GeronimoTldLocationsCache discovers these "container"
TLDs by scanning the service registry for these TldProvider services.

There are some potential problems with this solution and I'm not too
happy with it but for now it works. For example,
GeronimoTldLocationsCache will discover every TldProvider service in
the registry even though the given application might not use JSTL or
Myfaces. However, the classes referenced in TLDs are not actually
instantiated until the TLD is referenced in the application so that
shouldn't be a problem. It's just GeronimoTldLocationsCache seeing
more then it probably should.

Anyway, with these changes I was able to deploy a simple JSTL
application. However, Myfaces support still doesn't quite work due to
some CCL assumptions in Myfaces. Will try to resolve that next.


View raw message