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