Looks like we can specify some jars to exclude on StandardJarScanner - I'm going to experiment with that and see if that works. Should hopefully get it done tomorrow morning.
Jon On Fri, Apr 1, 2011 at 10:21 PM, Jonathan Gallimore < [email protected]> wrote: > Sorry about that! It looks like not scanning the classloader classes is not > quite right. Seems like we've identified why we're loading so many classes > though. I was thinking that maybe we could swap the JarScanner in the > StandardContext for one that either filters out our jar files, or uses > xbean-finder. What do you think? > > Jon > > > On Fri, Apr 1, 2011 at 9:00 PM, David Blevins <[email protected]>wrote: > >> We're definitely heading in the right direction. We might need to tweak >> our JSF support a bit. See tck@ >> >> Side note, check out the BackportUtil class. Probably can merge that >> TomcatHelper right in. >> >> >> -David >> >> On Mar 31, 2011, at 4:19 PM, [email protected] wrote: >> >> > Author: jgallimore >> > Date: Thu Mar 31 23:19:14 2011 >> > New Revision: 1087503 >> > >> > URL: http://svn.apache.org/viewvc?rev=1087503&view=rev >> > Log: >> > stop tomcat scanning the whole classpath looking for web.xml fragments >> > >> > Modified: >> > >> >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java >> > >> >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java >> > >> > Modified: >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java >> > URL: >> http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java?rev=1087503&r1=1087502&r2=1087503&view=diff >> > >> ============================================================================== >> > --- >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java >> (original) >> > +++ >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/GlobalListenerSupport.java >> Thu Mar 31 23:19:14 2011 >> > @@ -28,6 +28,7 @@ import org.apache.catalina.core.Standard >> > import org.apache.catalina.core.StandardHost; >> > import org.apache.catalina.core.StandardServer; >> > import org.apache.openejb.tomcat.loader.TomcatHelper; >> > +import org.apache.tomcat.JarScanner; >> > >> > import java.beans.PropertyChangeEvent; >> > import java.beans.PropertyChangeListener; >> > @@ -113,6 +114,10 @@ public class GlobalListenerSupport imple >> > contextListener.afterStop(standardContext); >> > } else if (DESTROY_EVENT.equals(type) || >> Lifecycle.AFTER_DESTROY_EVENT.equals(type)) { >> > contextListener.destroy(standardContext); >> > + } else if (Lifecycle.CONFIGURE_START_EVENT.equals(type)) { >> > + if (TomcatHelper.isTomcat7()) { >> > + TomcatHelper.configureJarScanner(standardContext); >> > + } >> > } >> > } else if (source instanceof StandardHost) { >> > StandardHost standardHost = (StandardHost) source; >> > >> > Modified: >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java >> > URL: >> http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java?rev=1087503&r1=1087502&r2=1087503&view=diff >> > >> ============================================================================== >> > --- >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java >> (original) >> > +++ >> openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-loader/src/main/java/org/apache/openejb/tomcat/loader/TomcatHelper.java >> Thu Mar 31 23:19:14 2011 >> > @@ -130,4 +130,14 @@ public class TomcatHelper { >> > public static boolean isTomcat7() { >> > return >> System.getProperty("tomcat.version").startsWith("7."); >> > } >> > + >> > + public static void configureJarScanner(StandardContext >> standardContext) { >> > + try { >> > + Object jarScanner = >> StandardContext.class.getMethod("getJarScanner").invoke(standardContext); >> > + >> jarScanner.getClass().getMethod("setScanClassPath", >> Boolean.TYPE).invoke(jarScanner, false); >> > + } catch (Exception e) { >> > + // ignore >> > + e.printStackTrace(); >> > + } >> > + } >> > } >> > >> > >> > >> >> >
