2012-01-31 18 views
0

我正在使用运行在Oracle Java 1.6.0_30上的Tomcat 7(7.0.25)。我安装了libtcnative-1并使用APR连接器(org.apache.coyote.http11.Http11AprProtocol)。Tomcat在使用sendfile和APR连接传输期间丢弃连接

我尝试使用了sendfile(但不要紧,因为这是没有的sendfile重复性)

,一切工作正常,除非用户下载文件的保存“保存文件”对话框中打开他的浏览器为静态文件时间过长。当用户点击“确定”之前,“保存文件”对话框打开超过10秒后,只有一部分下载文件正在用户机器上写入(通常约为1.08MB)。

由于没有活动,它似乎是一种连接时间。任何想法,如果有一个设置可用来调整超时值?或者任何想法如何绕过这个问题,而不是一起摆脱APR连接器?

回答

0

想到的两个设置是disabledUploadTimeout和connectionTimeout。你可以传递这两个值吗?你可以在server.xml文件中找到它。

+0

我之前检查过这个配置选项。 ConnectionTimeout被设置为600000,并且disabledUploadTimeout为false – 2012-02-02 09:41:45

+0

嗯。服务器和最终用户之间是否有防火墙/负载均衡器?从服务器本身,你可以尝试使用浏览器/ wget下载文件吗? – bubbly 2012-02-04 00:28:10

+0

没有防火墙,没有负载均衡器。如果我为静态文件提供服务(即不通过servlet),它可以正常工作。不幸的是,这不是一个选项,因为该文件是动态生成的,我还需要一种机制来防止盗链。 – 2012-02-06 10:52:18