Author: markt Date: Wed Dec 14 11:06:25 2016 New Revision: 1774187 URL: http://svn.apache.org/viewvc?rev=1774187&view=rev Log: Don't duplicate storage of keepAliveTimeout in the Processor
Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1774187&r1=1774186&r2=1774187&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Wed Dec 14 11:06:25 2016 @@ -249,6 +249,12 @@ public abstract class AbstractProtocol<S } + /** + * The time Tomcat will wait for a subsequent request before closing the + * connection. The default is {@link #getConnectionTimeout()}. + * + * @return The timeout in milliseconds + */ public int getKeepAliveTimeout() { return endpoint.getKeepAliveTimeout(); } public void setKeepAliveTimeout(int keepAliveTimeout) { endpoint.setKeepAliveTimeout(keepAliveTimeout); Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java?rev=1774187&r1=1774186&r2=1774187&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProtocol.java Wed Dec 14 11:06:25 2016 @@ -197,7 +197,6 @@ public abstract class AbstractAjpProtoco protected Processor createProcessor() { AjpProcessor processor = new AjpProcessor(this); processor.setAdapter(getAdapter()); - processor.setKeepAliveTimeout(getKeepAliveTimeout()); processor.setClientCertProvider(getClientCertProvider()); return processor; } Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1774187&r1=1774186&r2=1774187&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Wed Dec 14 11:06:25 2016 @@ -280,16 +280,6 @@ public class AjpProcessor extends Abstra // ------------------------------------------------------------- Properties /** - * The number of milliseconds Tomcat will wait for a subsequent request - * before closing the connection. The default is -1 which is an infinite - * timeout. - */ - private int keepAliveTimeout = -1; - public int getKeepAliveTimeout() { return keepAliveTimeout; } - public void setKeepAliveTimeout(int timeout) { keepAliveTimeout = timeout; } - - - /** * When client certificate information is presented in a form other than * instances of {@link java.security.cert.X509Certificate} it needs to be * converted before it can be used and this property controls which JSSE @@ -329,10 +319,8 @@ public class AjpProcessor extends Abstra @Override protected SocketState dispatchEndRequest() { - // Set keep alive timeout for next request if enabled - if (keepAliveTimeout > 0) { - socketWrapper.setReadTimeout(keepAliveTimeout); - } + // Set keep alive timeout for next request + socketWrapper.setReadTimeout(protocol.getKeepAliveTimeout()); recycle(); return SocketState.OPEN; } @@ -359,10 +347,11 @@ public class AjpProcessor extends Abstra if (!readMessage(requestHeaderMessage, !keptAlive)) { break; } - // Set back timeout if keep alive timeout is enabled - if (keepAliveTimeout > 0) { - socketWrapper.setReadTimeout(connectionTimeout); - } + + // Processing the request so make sure the connection rather + // than keep-alive timeout is used + socketWrapper.setReadTimeout(connectionTimeout); + // Check message type, process right away and break if // not regular request processing int type = requestHeaderMessage.getByte(); @@ -468,10 +457,9 @@ public class AjpProcessor extends Abstra request.updateCounters(); rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE); - // Set keep alive timeout for next request if enabled - if (keepAliveTimeout > 0) { - socketWrapper.setReadTimeout(keepAliveTimeout); - } + + // Set keep alive timeout for next request + socketWrapper.setReadTimeout(protocol.getKeepAliveTimeout()); recycle(); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org