【SpringMvc】后台系统超大报表下载超时的处理

2017-10-20
阅读 5 分钟
11.4k
B端业务经常要提供下载报表的功能,一般的方法是先查询出所有数据,然后在内存中组装成报表(如XLS/XLSX格式)后统一输出。但是如果生成报表需要查询的数据量很大,远程服务的调用时间之和远远超过了链路上某节点(比如代理服务器Nginx、浏览器Chrome)的等待时间,因此该次Http连接就会被强制关闭,导致下载失败。