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