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 2016/12/14 11:06:26 UTC

svn commit: r1774187 - in /tomcat/trunk/java/org/apache/coyote: AbstractProtocol.java ajp/AbstractAjpProtocol.java ajp/AjpProcessor.java

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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org