1. 前情
最近做的项目需要使用canvas,给canvas一个url返回文件流可以读取到图片文件。可能时canvas读取速度慢(正常接受不报错),打开较大的图片文件的时候后台有时报错
ERROR:org.apache.catalina.connector.ClientAbortException: java.net.SocketTimeoutException,也有时后台不报错前端显示黑屏
查了下时文件流输出时间太长被tomcat拦截了,默认20s
2. 部署到tomcat打成war包的解决办法
直接修改tomcat配置文件server.xml
之前:
<Connector port="8083" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改后
<Connector port="8083" protocol="HTTP/1.1"
connectionTimeout="20000"
disableUploadTimeout="false"
redirectPort="8443" />
disableUploadTimeout=”false”只把读写连接的超时限制取消了
或者增加连接生存时间
keepAliveTimeout=“100000”
实测有用
3. jar包运行解决办法
配置文件中加参数:
server:
port: 9999
# server端的socket超时间(毫秒),使用值-1表示没有(即无限)超时,默认值为60000(即60秒)
# Tomcat附带的标准server.xml将此值设置为20000(即20秒),除非disableUploadTimeout设置为false,否则在读取请求正文(如果有)时也会使用此超时
connection-timeout: 80000
disableUploadTimeout: false
版权声明:本文为qq_35456400原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。