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();
>> > +             }
>> > +     }
>> > }
>> >
>> >
>> >
>>
>>
>

Reply via email to