Author: markt Date: Mon Oct 29 15:17:01 2018 New Revision: 1845136 URL: http://svn.apache.org/viewvc?rev=1845136&view=rev Log: Refactor the Connector so that the port is obtained from the Endpoint rather than a local field that could end up out of sync.
Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java tomcat/trunk/webapps/docs/changelog.xml 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=1845136&r1=1845135&r2=1845136&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Mon Oct 29 15:17:01 2018 @@ -146,12 +146,6 @@ public class Connector extends Lifecycle /** - * The port number on which we listen for requests. - */ - protected int port = -1; - - - /** * The server name to which we should pretend requests to this Connector * were directed. This is useful when operating Tomcat behind a proxy * server, so that redirects get constructed accurately. If not specified, @@ -516,7 +510,12 @@ public class Connector extends Lifecycle * when the socket is bound. */ public int getPort() { - return this.port; + Object port = getProperty("port"); + if (port == null) { + return -1; + } else { + return ((Integer) port).intValue(); + } } @@ -526,7 +525,6 @@ public class Connector extends Lifecycle * @param port The new port number */ public void setPort(int port) { - this.port = port; setProperty("port", String.valueOf(port)); } Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1845136&r1=1845135&r2=1845136&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Mon Oct 29 15:17:01 2018 @@ -451,7 +451,7 @@ public abstract class AbstractEndpoint<S /** * Server socket port. */ - private int port; + private int port = -1; public int getPort() { return port; } public void setPort(int port ) { this.port=port; } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1845136&r1=1845135&r2=1845136&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Oct 29 15:17:01 2018 @@ -126,6 +126,11 @@ <code>Library.load(filename)</code> to load a native library by a shared class loader so that more than one Webapp can use it. (isapir) </add> + <scode> + Refactor the <code>Connector</code> so that the port is obtained from + the <code>Endpoint</code> rather than a local field that could end up + out of sync. (markt) + </scode> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org