java导出Excel至浏览器端超时
由于查询数据速度较慢或者数据量较大导致 传递给浏览器端 超时
因为HTTP请求默认连接超时时间为30秒,不知道各位大佬有没有好的方法?
开发包用的POI
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
由于查询数据速度较慢或者数据量较大导致 传递给浏览器端 超时
因为HTTP请求默认连接超时时间为30秒,不知道各位大佬有没有好的方法?
开发包用的POI
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
对,我也遇到过这种问题,但是那个超时时间确实像i38me说的,是不会超时的,我猜测你们的应用前置还配置有一个反向服务代理,比如我们这边用的nginx,nginx可以配置连接超时时间
但是确实有时候很多导出会很慢,优化导出性能当然是你要做的,但是修改返回方案也是可行的,不用同步返回,比如我们这边才用异步导出模式,导出请求过来了,只要校验没啥问题,就直接返回成功,异步起线程去导出,最终结果用邮件的方式发给那个人
当然由于导出时间很长,说明数据量大,业务处理复杂,这时可能对系统资源占用较高,导致系统对其他响应反应较慢,建议导出功能最好单独应用部署(不与其他业务功能放在同一个应用上),最好是单独的只读库,不与主数据库直连,不然要是查询逻辑复杂,有可能把主数据库拖垮(我们就遇到过...痛苦死...一个导出功能执行,其他应用反应都巨慢...捂脸...),要是只是拖垮只读库也还好,不会影响正常应用上的功能
以上是我的建议,仅供参考哈
http请求是有连接超时,但是仅是建立连接时的超时,如果你的网络正常的话,服务器不会出现连接超时的,导出excel慢,只会导致响应比较慢,比如下载一个大文件,即使下载一个小时,浏览器也不会报连接超时的。