Author: markt Date: Fri Jun 5 12:45:13 2009 New Revision: 782000 URL: http://svn.apache.org/viewvc?rev=782000&view=rev Log: Don't try an init APR in the connector. Let the listener do it. Prevents unexpected enabling of APR just because the DLL is present.
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=782000&r1=781999&r2=782000&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Fri Jun 5 12:45:13 2009 @@ -18,7 +18,6 @@ package org.apache.catalina.connector; -import java.lang.reflect.Method; import java.net.URLEncoder; import java.util.HashMap; @@ -32,6 +31,7 @@ import org.apache.catalina.LifecycleException; import org.apache.catalina.LifecycleListener; import org.apache.catalina.Service; +import org.apache.catalina.core.AprLifecycleListener; import org.apache.catalina.core.StandardEngine; import org.apache.catalina.util.LifecycleSupport; import org.apache.catalina.util.StringManager; @@ -587,54 +587,6 @@ } - // ---------------------------------------------- APR Version Constants - - private static final int TCN_REQUIRED_MAJOR = 1; - private static final int TCN_REQUIRED_MINOR = 1; - private static final int TCN_REQUIRED_PATCH = 3; - private static boolean aprInitialized = false; - - // APR init support - private static synchronized void initializeAPR() - { - if (aprInitialized) { - return; - } - int major = 0; - int minor = 0; - int patch = 0; - try { - String methodName = "initialize"; - Class<?> paramTypes[] = new Class[1]; - paramTypes[0] = String.class; - Object paramValues[] = new Object[1]; - paramValues[0] = null; - Class<?> clazz = Class.forName("org.apache.tomcat.jni.Library"); - Method method = clazz.getMethod(methodName, paramTypes); - method.invoke(null, paramValues); - major = clazz.getField("TCN_MAJOR_VERSION").getInt(null); - minor = clazz.getField("TCN_MINOR_VERSION").getInt(null); - patch = clazz.getField("TCN_PATCH_VERSION").getInt(null); - } catch (Throwable t) { - return; - } - if ((major != TCN_REQUIRED_MAJOR) || - (minor != TCN_REQUIRED_MINOR) || - (patch < TCN_REQUIRED_PATCH)) { - try { - // Terminate the APR in case the version - // is below required. - String methodName = "terminate"; - Method method = Class.forName("org.apache.tomcat.jni.Library") - .getMethod(methodName, (Class [])null); - method.invoke(null, (Object []) null); - } catch (Throwable t) { - // Ignore - } - return; - } - aprInitialized = true; - } /** * Set the Coyote protocol which will be used by the connector. @@ -643,10 +595,7 @@ */ public void setProtocol(String protocol) { - // Test APR support - initializeAPR(); - - if (aprInitialized) { + if (AprLifecycleListener.isAprInitialized()) { if ("HTTP/1.1".equals(protocol)) { setProtocolHandlerClassName ("org.apache.coyote.http11.Http11AprProtocol"); Modified: tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=782000&r1=781999&r2=782000&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Fri Jun 5 12:45:13 2009 @@ -68,6 +68,10 @@ protected static boolean sslInitialized = false; protected static boolean aprInitialized = false; + public static boolean isAprInitialized() { + return aprInitialized; + } + // ---------------------------------------------- LifecycleListener Methods /** @@ -241,4 +245,5 @@ public void setSSLRandomSeed(String SSLRandomSeed) { AprLifecycleListener.SSLRandomSeed = SSLRandomSeed; } + } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org