远程主机强迫关闭了一个现有的连接
远程主机强迫关闭了一个现有的连接。
问题描述:
前端调用一个导出数据接口时,有时候无数据返回。 查看日志: jetty报错:java.io.IOException:远程主机强迫关闭了一个现有的连接。
解决问题:
-
首先我翻看这个接口的代码,没有找到问题。然后我又祭出了重启大法,项目重新编译,启动,然后重新访问这个接口,很不幸,这个bug还是复现了,难受啊、、、
-
我仔细查看日志,发现日志没有报其他的错误,这就很奇怪。
-
我又在代码中加了日志,想看看究竟发生了什么。然后发现原因是这个接口耗时太长,前端请求超时,才报了这个错误
jetty报错:java.io.IOException:远程主机强迫关闭了一个现有的连接。
-
这个接口的主要的功能就是导出数据报表,有两部分构成,一部分是查询统计数据,另一部分就是讲数据补充到excel中,然后导出。
打印的日志,统计时间(单位:毫秒)
DEBUG c.x.t.controller.statistics.UserCountController - ==================================================================统计消耗时间:1381
DEBUG c.x.t.controller.statistics.UserCountController - ==================================================================导出完毕消耗时间:43105
日志告诉我发生了什么,统计部分所用时间是1秒左右,还在忍受范围之内,但是往表格中填充数据就花了这么长时间,这不能忍啊!罪魁祸首找到了!
-
为什么这么填充过程这么慢呢,我又仔细查看代码,发现在导出excel的过程中,一次是导出10000行数据,我寻思是不是这个过程数据太多耗时太长呢?我把这一个参数改成5000,然后编译,运行,重新访问。我再一次查看日志,
DEBUG c.x.t.controller.statistics.UserCountController - ==================================================================导出完毕消耗时间:6705
后台也不再报错,打印出来的时间也还能接受吧,至此,这个bug算是解决了吧
相关阅读
用C语言实现一个C语言的编译器 目标:基于C0+文法的编译器,生成语法树,四元式,符号表,最后生成X86汇编(386) 接下来介绍一下整个的设计和
现如今做兼职的人很多,有的人在兼职中赚到了钱,有的则赚到了经验,什么样的人才算是兼职达人呢?自然是在兼职中游刃有余,找到自己人生
官网:https://www.infoq.cn/
作者:兔四链接:https://zhuanlan.zhihu.com/p/26965602来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出
这篇文章是教大家怎么连接共享打印机的教程。 以HP LaserJet Pro M128为例子 1、双击安装驱动程序(驱动天空下载、官网下载都