Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Apache Tomcat将使用非阻塞http协议在文件下载时关闭连接_Java_Tomcat - Fatal编程技术网

Java Apache Tomcat将使用非阻塞http协议在文件下载时关闭连接

Java Apache Tomcat将使用非阻塞http协议在文件下载时关闭连接,java,tomcat,Java,Tomcat,默认情况下,server.xml中的协议配置为protocol=“HTTP/1.1”。 对于较新的tomcat版本,如果可能,这将使用非阻塞协议 问题: 使用默认设置设置Tomcat(8.0.28)。 在webapp(例如webapps/root)中复制一个文件,并以有限的速度下载该文件,以模拟缓慢的调制解调器下载 wget http://xxx.xxx.xxx.xxx:8080/xxxxxxx/7.zip --limit-rate=1k 连接将始终在6分钟24秒后关闭 Saving to:

默认情况下,server.xml中的协议配置为protocol=“HTTP/1.1”。 对于较新的tomcat版本,如果可能,这将使用非阻塞协议

问题: 使用默认设置设置Tomcat(8.0.28)。 在webapp(例如webapps/root)中复制一个文件,并以有限的速度下载该文件,以模拟缓慢的调制解调器下载

wget http://xxx.xxx.xxx.xxx:8080/xxxxxxx/7.zip --limit-rate=1k
连接将始终在6分钟24秒后关闭

Saving to: ‘7.zip’
7.zip               0%[                      ] 767.99K  1.00KB/s   in 6m 24s
2015-10-28 17:27:39 (1024 B/s) - Connection closed at byte 786426. Retrying.
如果我将协议更改为(阻塞):

一切都很好,下载将以较慢的速度完成


可能是什么问题?

这是新apache协议的已知限制

要使稳定连接低于64kb/秒,唯一的解决方案是更改设置: socket.txBufSize(更小) 和连接超时(更高)。 有关更多详细信息,请查看:

这是新apache协议的已知限制

要使稳定连接低于64kb/秒,唯一的解决方案是更改设置: socket.txBufSize(更小) 和连接超时(更高)。 有关更多详细信息,请查看:

经过进一步调查,这与速度有关。如果我把它改为10kb/秒,它似乎可以工作。如果我使用5kb/秒,它将始终在77秒或102秒后停止。我还是看不到任何模式。经过进一步的调查,这与速度有关。如果我把它改为10kb/秒,它似乎可以工作。如果我使用5kb/秒,它将始终在77秒或102秒后停止。我仍然看不到任何模式。
  protocol="org.apache.coyote.http11.Http11Protocol"