You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2018/10/29 15:17:01 UTC
svn commit: r1845136 - in /tomcat/trunk:
java/org/apache/catalina/connector/Connector.java
java/org/apache/tomcat/util/net/AbstractEndpoint.java
webapps/docs/changelog.xml
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1845136 - in /tomcat/trunk: java/org/apache/catalina/connector/Connector.java
java/org/apache/tomcat/util/net/AbstractEndpoint.java webapps/docs/changelog.xml
Posted by Rémy Maucherat <re...@apache.org>.
On Mon, Oct 29, 2018 at 6:13 PM Mark Thomas <ma...@apache.org> wrote:
> On 29/10/2018 16:56, Mark Thomas wrote:
> > On 29/10/2018 16:41, Rémy Maucherat wrote:
> >> On Mon, Oct 29, 2018 at 4:17 PM <ma...@apache.org> wrote:
> >>
> >>> 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
> >>>
> >>
> >> I have the feeling that duplication was there because port was used a
> bit
> >> more than other things (like in the two "security" valves) and the
> lookup
> >> is more expensive now.
> >
> > Good point. I need to rethink that / maybe revert it.
>
> I've updated that code.
>
> The really slow part (the reflection) will be skipped when using a
> standard protocol implementation.
>
> Do you think it is OK now or would you prefer I revert the changes?
>
It's good. It's only used in RemoteAddr/HostValve with an optional
configuration where the port is used.
Rémy
Re: svn commit: r1845136 - in /tomcat/trunk:
java/org/apache/catalina/connector/Connector.java
java/org/apache/tomcat/util/net/AbstractEndpoint.java
webapps/docs/changelog.xml
Posted by Mark Thomas <ma...@apache.org>.
On 29/10/2018 16:56, Mark Thomas wrote:
> On 29/10/2018 16:41, Rémy Maucherat wrote:
>> On Mon, Oct 29, 2018 at 4:17 PM <ma...@apache.org> wrote:
>>
>>> 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
>>>
>>
>> I have the feeling that duplication was there because port was used a bit
>> more than other things (like in the two "security" valves) and the lookup
>> is more expensive now.
>
> Good point. I need to rethink that / maybe revert it.
I've updated that code.
The really slow part (the reflection) will be skipped when using a
standard protocol implementation.
Do you think it is OK now or would you prefer I revert the changes?
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1845136 - in /tomcat/trunk:
java/org/apache/catalina/connector/Connector.java
java/org/apache/tomcat/util/net/AbstractEndpoint.java
webapps/docs/changelog.xml
Posted by Mark Thomas <ma...@apache.org>.
On 29/10/2018 16:41, Rémy Maucherat wrote:
> On Mon, Oct 29, 2018 at 4:17 PM <ma...@apache.org> wrote:
>
>> 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
>>
>
> I have the feeling that duplication was there because port was used a bit
> more than other things (like in the two "security" valves) and the lookup
> is more expensive now.
Good point. I need to rethink that / maybe revert it.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r1845136 - in /tomcat/trunk: java/org/apache/catalina/connector/Connector.java
java/org/apache/tomcat/util/net/AbstractEndpoint.java webapps/docs/changelog.xml
Posted by Rémy Maucherat <re...@apache.org>.
On Mon, Oct 29, 2018 at 4:17 PM <ma...@apache.org> wrote:
> 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
>
I have the feeling that duplication was there because port was used a bit
more than other things (like in the two "security" valves) and the lookup
is more expensive now.
Rémy