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

Reply via email to