Author: markt Date: Fri Oct 7 09:45:40 2016 New Revision: 1763712 URL: http://svn.apache.org/viewvc?rev=1763712&view=rev Log: The Connector protocol only has an effect when passed into the constructor so remove the pointless setters that suggest otherwise.
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.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=1763712&r1=1763711&r2=1763712&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Fri Oct 7 09:45:40 2016 @@ -62,12 +62,34 @@ public class Connector extends Lifecycle // ------------------------------------------------------------ Constructor + /** + * Defaults to using HTTP/1.1 NIO implementation. + */ public Connector() { - this(null); + this("org.apache.coyote.http11.Http11NioProtocol"); } + public Connector(String protocol) { - setProtocol(protocol); + boolean aprConnector = AprLifecycleListener.isAprAvailable() && + AprLifecycleListener.getUseAprConnector(); + + if ("HTTP/1.1".equals(protocol) || protocol == null) { + if (aprConnector) { + protocolHandlerClassName = "org.apache.coyote.http11.Http11AprProtocol"; + } else { + protocolHandlerClassName = "org.apache.coyote.http11.Http11NioProtocol"; + } + } else if ("AJP/1.3".equals(protocol)) { + if (aprConnector) { + protocolHandlerClassName = "org.apache.coyote.ajp.AjpAprProtocol"; + } else { + protocolHandlerClassName = "org.apache.coyote.ajp.AjpNioProtocol"; + } + } else { + protocolHandlerClassName = protocol; + } + // Instantiate protocol handler ProtocolHandler p = null; try { @@ -210,10 +232,9 @@ public class Connector extends Lifecycle /** * Coyote Protocol handler class name. - * Defaults to the Coyote HTTP/1.1 protocolHandler. + * See {@link #Connector()} for current default. */ - protected String protocolHandlerClassName = - "org.apache.coyote.http11.Http11NioProtocol"; + protected final String protocolHandlerClassName; /** @@ -536,34 +557,6 @@ public class Connector extends Lifecycle /** - * Set the Coyote protocol which will be used by the connector. - * - * @param protocol The Coyote protocol name - */ - public void setProtocol(String protocol) { - - boolean aprConnector = AprLifecycleListener.isAprAvailable() && - AprLifecycleListener.getUseAprConnector(); - - if ("HTTP/1.1".equals(protocol) || protocol == null) { - if (aprConnector) { - setProtocolHandlerClassName("org.apache.coyote.http11.Http11AprProtocol"); - } else { - setProtocolHandlerClassName("org.apache.coyote.http11.Http11NioProtocol"); - } - } else if ("AJP/1.3".equals(protocol)) { - if (aprConnector) { - setProtocolHandlerClassName("org.apache.coyote.ajp.AjpAprProtocol"); - } else { - setProtocolHandlerClassName("org.apache.coyote.ajp.AjpNioProtocol"); - } - } else { - setProtocolHandlerClassName(protocol); - } - } - - - /** * @return the class name of the Coyote protocol handler in use. */ public String getProtocolHandlerClassName() { @@ -571,17 +564,6 @@ public class Connector extends Lifecycle } - /** - * Set the class name of the Coyote protocol handler which will be used - * by the connector. - * - * @param protocolHandlerClassName The new class name - */ - public void setProtocolHandlerClassName(String protocolHandlerClassName) { - this.protocolHandlerClassName = protocolHandlerClassName; - } - - /** * @return the protocol handler associated with the connector. */ Modified: tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml?rev=1763712&r1=1763711&r2=1763712&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml (original) +++ tomcat/trunk/java/org/apache/catalina/connector/mbeans-descriptors.xml Fri Oct 7 09:45:40 2016 @@ -140,7 +140,8 @@ <attribute name="protocol" description="Coyote protocol handler in use" - type="java.lang.String"/> + type="java.lang.String" + writeable="false"/> <attribute name="protocolHandlerClassName" description="Coyote Protocol handler class name" Modified: tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java?rev=1763712&r1=1763711&r2=1763712&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java (original) +++ tomcat/trunk/java/org/apache/catalina/mbeans/MBeanFactory.java Fri Oct 7 09:45:40 2016 @@ -272,14 +272,14 @@ public class MBeanFactory { */ private String createConnector(String parent, String address, int port, boolean isAjp, boolean isSSL) throws Exception { - Connector retobj = new Connector(); + // Set the protocol in the constructor + String protocol = isAjp ? "AJP/1.3" : "HTTP/1.1"; + Connector retobj = new Connector(protocol); if ((address!=null) && (address.length()>0)) { retobj.setProperty("address", address); } // Set port number retobj.setPort(port); - // Set the protocol - retobj.setProtocol(isAjp ? "AJP/1.3" : "HTTP/1.1"); // Set SSL retobj.setSecure(isSSL); retobj.setScheme(isSSL ? "https" : "http"); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org