From: markt Date: Mon, 6 Dec 2010 17:16:53 +0000 (+0000) Subject: Re-factoring in support of https://issues.apache.org/bugzilla/show_bug.cgi?id=50360 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=c1b4cd63e674383cedbc5560093f859fb9096b4d;p=tomcat7.0 Re-factoring in support of https://issues.apache.org/bugzilla/show_bug.cgi?id=50360 Pull up timeout getters/setters. Use -1 consistently for the default value of keepAliveTimeout git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1042726 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/coyote/AbstractProtocolHandler.java b/java/org/apache/coyote/AbstractProtocolHandler.java index a757b7681..a5524e132 100644 --- a/java/org/apache/coyote/AbstractProtocolHandler.java +++ b/java/org/apache/coyote/AbstractProtocolHandler.java @@ -200,6 +200,13 @@ public abstract class AbstractProtocolHandler implements ProtocolHandler, public void setSoLinger(int soLinger) { endpoint.setSoLinger(soLinger); } + public int getKeepAliveTimeout() { return endpoint.getKeepAliveTimeout(); } + public void setKeepAliveTimeout(int keepAliveTimeout) { + endpoint.setKeepAliveTimeout(keepAliveTimeout); + } + + + // ---------------------- Properties that are passed through to the EndPoint // ------------------------------------ and are made available as attributes @@ -217,6 +224,34 @@ public abstract class AbstractProtocolHandler implements ProtocolHandler, } + /* + * When Tomcat expects data from the client, this is the time Tomcat will + * wait for that data to arrive before closing the connection. + */ + public int getConnectionTimeout() { + // Note that the endpoint uses the alternative name + return endpoint.getSoTimeout(); + } + public void setConnectionTimeout(int timeout) { + // Note that the endpoint uses the alternative name + endpoint.setSoTimeout(timeout); + String str = Integer.toString(timeout); + setAttribute("connectionTimeout", str); + // Also set the attribute for the alternative name + setAttribute("soTimeout", str); + } + + /* + * Alternative name for connectionTimeout property + */ + public int getSoTimeout() { + return getConnectionTimeout(); + } + public void setSoTimeout(int timeout) { + setConnectionTimeout(timeout); + } + + // -------------------------------------------------------- Abstract methods /** * Concrete implementations need to provide access to their logger to be diff --git a/java/org/apache/coyote/ajp/AbstractAjpProtocol.java b/java/org/apache/coyote/ajp/AbstractAjpProtocol.java index a5e212e01..5d0e055d3 100644 --- a/java/org/apache/coyote/ajp/AbstractAjpProtocol.java +++ b/java/org/apache/coyote/ajp/AbstractAjpProtocol.java @@ -78,7 +78,6 @@ public abstract class AbstractAjpProtocol extends AbstractProtocolHandler { Registry.getRegistry(null, null).unregisterComponent(rgOname); } - // * public String getName() { String encodedAddr = ""; if (getAddress() != null) { @@ -90,9 +89,6 @@ public abstract class AbstractAjpProtocol extends AbstractProtocolHandler { return ("ajp-" + encodedAddr + endpoint.getPort()); } - public int getSoTimeout() { return endpoint.getSoTimeout(); } - public void setSoTimeout(int soTimeout) { endpoint.setSoTimeout(soTimeout); } - /** * Should authentication be done in the native webserver layer, * or in the Servlet container ? @@ -121,14 +117,6 @@ public abstract class AbstractAjpProtocol extends AbstractProtocolHandler { } - /** - * The number of seconds Tomcat will wait for a subsequent request - * before closing the connection. - */ - protected int keepAliveTimeout = -1; - public int getKeepAliveTimeout() { return keepAliveTimeout; } - public void setKeepAliveTimeout(int timeout) { keepAliveTimeout = timeout; } - // -------------------- JMX related methods -------------------- protected String domain; diff --git a/java/org/apache/coyote/ajp/AjpProtocol.java b/java/org/apache/coyote/ajp/AjpProtocol.java index 60aad857e..9bac36a05 100644 --- a/java/org/apache/coyote/ajp/AjpProtocol.java +++ b/java/org/apache/coyote/ajp/AjpProtocol.java @@ -237,7 +237,7 @@ public class AjpProtocol extends AbstractAjpProtocol { processor.setAdapter(proto.adapter); processor.setTomcatAuthentication(proto.tomcatAuthentication); processor.setRequiredSecret(proto.requiredSecret); - processor.setKeepAliveTimeout(proto.keepAliveTimeout); + processor.setKeepAliveTimeout(proto.getKeepAliveTimeout()); register(processor); return processor; } diff --git a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java index fe668b27f..4f2193d92 100644 --- a/java/org/apache/coyote/http11/AbstractHttp11Protocol.java +++ b/java/org/apache/coyote/http11/AbstractHttp11Protocol.java @@ -141,37 +141,6 @@ public abstract class AbstractHttp11Protocol extends AbstractProtocolHandler { } /** - * The number of seconds Tomcat will wait for a subsequent request - * before closing the connection. - */ - public void setKeepAliveTimeout(int keepAliveTimeout) { - endpoint.setKeepAliveTimeout(keepAliveTimeout); - } - - public int getKeepAliveTimeout() { - return endpoint.getKeepAliveTimeout(); - } - - public int getConnectionTimeout() { - return getSoTimeout(); - } - - public void setConnectionTimeout( int timeout ) { - setSoTimeout(timeout); - } - - public int getSoTimeout() { - return endpoint.getSoTimeout(); - } - - public void setSoTimeout( int i ) { - endpoint.setSoTimeout(i); - setAttribute("soTimeout", "" + i); - setAttribute("connectionTimeout", "" + i); - } - - // * - /** * Maximum size of the post which will be saved when processing certain * requests, such as a POST. */ diff --git a/java/org/apache/tomcat/util/net/AbstractEndpoint.java b/java/org/apache/tomcat/util/net/AbstractEndpoint.java index 59cb8486f..8e3b6f66f 100644 --- a/java/org/apache/tomcat/util/net/AbstractEndpoint.java +++ b/java/org/apache/tomcat/util/net/AbstractEndpoint.java @@ -189,9 +189,11 @@ public abstract class AbstractEndpoint { /** * Keepalive timeout, if lesser or equal to 0 then soTimeout will be used. */ - private int keepAliveTimeout = 0; - public void setKeepAliveTimeout(int keepAliveTimeout) { this.keepAliveTimeout = keepAliveTimeout; } + private int keepAliveTimeout = -1; public int getKeepAliveTimeout() { return keepAliveTimeout;} + public void setKeepAliveTimeout(int keepAliveTimeout) { + this.keepAliveTimeout = keepAliveTimeout; + } /**