远程主机强迫关闭了一个现有的连接。

远程主机强迫关闭了一个现有的连接。

问题描述:

​ 前端调用一个导出数据接口时,有时候无数据返回。 查看日志: jetty报错:java.io.IOException:远程主机强迫关闭了一个现有的连接。

解决问题:

  1. 首先我翻看这个接口的代码,没有找到问题。然后我又祭出了重启大法,项目重新编译,启动,然后重新访问这个接口,很不幸,这个bug还是复现了,难受啊、、、

  2. 我仔细查看日志,发现日志没有报其他的错误,这就很奇怪。

  3. 我又在代码中加了日志,想看看究竟发生了什么。然后发现原因是这个接口耗时太长,前端请求超时,才报了这个错误

    jetty报错:java.io.IOException:远程主机强迫关闭了一个现有的连接。

  4. 这个接口的主要的功能就是导出数据报表,有两部分构成,一部分是查询统计数据,另一部分就是讲数据补充到excel中,然后导出。

打印的日志,统计时间(单位:毫秒)

DEBUG c.x.t.controller.statistics.UserCountController - ==================================================================统计消耗时间:1381

DEBUG c.x.t.controller.statistics.UserCountController - ==================================================================导出完毕消耗时间:43105

​ 日志告诉我发生了什么,统计部分所用时间是1秒左右,还在忍受范围之内,但是往表格中填充数据就花了这么长时间,这不能忍啊!罪魁祸首找到了!

  1. 为什么这么填充过程这么慢呢,我又仔细查看代码,发现在导出excel的过程中,一次是导出10000行数据,我寻思是不是这个过程数据太多耗时太长呢?我把这一个参数改成5000,然后编译,运行,重新访问。我再一次查看日志,

DEBUG c.x.t.controller.statistics.UserCountController - ==================================================================导出完毕消耗时间:6705

后台也不再报错,打印出来的时间也还能接受吧,至此,这个bug算是解决了吧

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值