Author: markt Date: Mon Oct 29 17:12:12 2018 New Revision: 1845144 URL: http://svn.apache.org/viewvc?rev=1845144&view=rev Log: Improve performance of refactoring
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.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=1845144&r1=1845143&r2=1845144&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Mon Oct 29 17:12:12 2018 @@ -30,6 +30,7 @@ import org.apache.catalina.LifecycleStat import org.apache.catalina.Service; import org.apache.catalina.core.AprLifecycleListener; import org.apache.catalina.util.LifecycleMBeanBase; +import org.apache.coyote.AbstractProtocol; import org.apache.coyote.Adapter; import org.apache.coyote.ProtocolHandler; import org.apache.coyote.UpgradeProtocol; @@ -510,12 +511,18 @@ public class Connector extends Lifecycle * when the socket is bound. */ public int getPort() { + // Try shortcut that should work for nearly all uses first as it does + // not use reflection and is therefore faster. + if (protocolHandler instanceof AbstractProtocol<?>) { + return ((AbstractProtocol<?>) protocolHandler).getPort(); + } + // Fall back for custom protocol handlers not based on AbstractProtocol Object port = getProperty("port"); - if (port == null) { - return -1; - } else { + if (port instanceof Integer) { return ((Integer) port).intValue(); } + // Usually means an invalid protocol has been configured + return -1; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org