replacements.put("acceptCount", "backlog");
replacements.put("connectionLinger", "soLinger");
replacements.put("connectionTimeout", "soTimeout");
- replacements.put("connectionUploadTimeout", "timeout");
replacements.put("randomFile", "randomfile");
replacements.put("rootFile", "rootfile");
replacements.put("sslProtocols", "protocols");
/**
* Maximum timeout on uploads. 5 minutes as in Apache HTTPD server.
*/
- protected int timeout = 300000;
+ protected int connectionUploadTimeout = 300000;
/**
/**
* Set the upload timeout.
*/
- public void setTimeout( int timeouts ) {
- timeout = timeouts ;
+ public void setConnectionUploadTimeout(int timeout) {
+ connectionUploadTimeout = timeout ;
}
/**
* Get the upload timeout.
*/
- public int getTimeout() {
- return timeout;
+ public int getConnectionUploadTimeout() {
+ return connectionUploadTimeout;
}
return endpoint.getKeepAliveTimeout();
}
- public int getTimeout() {
- return getSoTimeout();
- }
-
- public void setTimeout( int timeout ) {
- setSoTimeout(timeout);
- }
-
public int getConnectionTimeout() {
return getSoTimeout();
}
public void setMaxHttpHeaderSize(int valueI) { maxHttpHeaderSize = valueI; }
+ /**
+ * Specifies a different (usually longer) connection timeout during data
+ * upload.
+ */
+ private int connectionUploadTimeout = 300000;
+ public int getConnectionUploadTimeout() { return connectionUploadTimeout; }
+ public void setConnectionUploadTimeout(int i) {
+ connectionUploadTimeout = i;
+ }
+
+
// HTTP
/**
- * If true, the regular socket timeout will be used for the full duration
- * of the connection.
+ * If true, the connectionUploadTimeout will be ignored and the regular
+ * socket timeout will be used for the full duration of the connection.
*/
private boolean disableUploadTimeout = true;
public boolean getDisableUploadTimeout() { return disableUploadTimeout; }
- public void setDisableUploadTimeout(boolean isDisabled) { disableUploadTimeout = isDisabled; }
+ public void setDisableUploadTimeout(boolean isDisabled) {
+ disableUploadTimeout = isDisabled;
+ }
// HTTP
request.setStartTime(System.currentTimeMillis());
keptAlive = true;
if (!disableUploadTimeout) {
- Socket.timeoutSet(socketRef, timeout * 1000);
+ Socket.timeoutSet(socketRef,
+ connectionUploadTimeout * 1000);
}
inputBuffer.parseHeaders();
} catch (IOException e) {
public boolean getDeferAccept() { return ((AprEndpoint)endpoint).getDeferAccept(); }
public void setDeferAccept(boolean deferAccept) { ((AprEndpoint)endpoint).setDeferAccept(deferAccept); }
- /**
- * This timeout represents the socket timeout which will be used while
- * the adapter execution is in progress, unless disableUploadTimeout
- * is set to true. The default is the same as for Apache HTTP Server
- * (300 000 milliseconds).
- * TODO: Make the timeout attribute names consistent across the connectors
- */
- protected int timeout = 300000;
- @Override
- public int getTimeout() { return timeout; }
- @Override
- public void setTimeout(int timeout) { this.timeout = timeout; }
-
// -------------------- SSL related properties --------------------
/**
proto.getMaxTrailerSize());
processor.setAdapter(proto.adapter);
processor.setMaxKeepAliveRequests(proto.getMaxKeepAliveRequests());
- processor.setTimeout(proto.timeout);
+ processor.setConnectionUploadTimeout(
+ proto.getConnectionUploadTimeout());
processor.setDisableUploadTimeout(proto.getDisableUploadTimeout());
processor.setCompressionMinSize(proto.getCompressionMinSize());
processor.setCompression(proto.getCompression());
}
request.setStartTime(System.currentTimeMillis());
if (!disableUploadTimeout) { //only for body, not for request headers
- socket.getIOChannel().socket().setSoTimeout(timeout);
+ socket.getIOChannel().socket().setSoTimeout(
+ connectionUploadTimeout);
}
} catch (IOException e) {
if (log.isDebugEnabled()) {
proto.getMaxTrailerSize());
processor.setAdapter(proto.adapter);
processor.setMaxKeepAliveRequests(proto.getMaxKeepAliveRequests());
- processor.setTimeout(proto.getTimeout());
+ processor.setConnectionUploadTimeout(
+ proto.getConnectionUploadTimeout());
processor.setDisableUploadTimeout(proto.getDisableUploadTimeout());
processor.setCompressionMinSize(proto.getCompressionMinSize());
processor.setCompression(proto.getCompression());
if (disableUploadTimeout) {
socket.getSocket().setSoTimeout(soTimeout);
} else {
- socket.getSocket().setSoTimeout(timeout);
+ socket.getSocket().setSoTimeout(connectionUploadTimeout);
}
inputBuffer.parseHeaders();
} catch (IOException e) {
processor.setAdapter(proto.adapter);
processor.setMaxKeepAliveRequests(proto.getMaxKeepAliveRequests());
processor.setKeepAliveTimeout(proto.getKeepAliveTimeout());
- processor.setTimeout(proto.getTimeout());
+ processor.setConnectionUploadTimeout(
+ proto.getConnectionUploadTimeout());
processor.setDisableUploadTimeout(proto.getDisableUploadTimeout());
processor.setCompressionMinSize(proto.getCompressionMinSize());
processor.setCompression(proto.getCompression());
presented. The default value is 60000 (i.e. 60 seconds).</p>
</attribute>
+ <attribute name="connectionUploadTimeout" required="false">
+ <p>Specifies the timeout, in milliseconds, to use while a data upload is
+ in progress. The only takes effect if
+ <strong>disableUploadTimeout</strong> is set to <code>false</code>.
+ </p>
+ </attribute>
+
<attribute name="disableUploadTimeout" required="false">
- <p>This flag allows the servlet container to use a different, longer
- connection timeout while a servlet is being executed, which in the end
- allows either the servlet a longer amount of time to complete its
- execution, or a longer timeout during data upload. If not specified,
- this attribute is set to "true".</p>
+ <p>This flag allows the servlet container to use a different, usually
+ longer connection timeout during data upload. If not specified, this
+ attribute is set to <code>true</code> which disables this longer timeout.
+ </p>
</attribute>
<attribute name="executor" required="false">