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