最近在做报表需求的时候,遇到一个问题:

前台给个请求,由于后台执行逻辑需要很长时间,因此导致页面响应超时。

在网上查询相关资料,找到了几种解决方案:

通过修改配置文件,延长响应时间;

rest.ReadTimeout=35000(建立连接超时时间),rest.ConnectTimeout=5000(连接成功,响应的超时时间)

使用异步请求方式,(提前响应);

AOP + Annotation,通过AOP拦截接口计算时间,使用Annotation自定义注解在接口上设置超时时间,可以通过如下链接

我这里选择使用第二种方案解决,即异步请求方式。

将需要执行的方法提取成一个类,需要继承Thread类,并实现run方法(主流程方法),添加需要的参数和初始化参数的构造函数:

class RunThreadTest extends Thread {

String prop1;

String prop2;

public RunThreadTest (String prop1, String prop2) {

super();

this.prop1= prop1;

this.prop2 = prop2;

}

@Override

public void run() {

//主逻辑

System.out.println(“正在执行异步请求”);

System.out.println(prop1 + prop2);<

java 接口超时控制_Java接口请求响应超时的解决办法相关推荐

  1. c# http请求执行超时,解决办法(给某个方法设定超时时间)

    c# http请求执行超时,解决办法(给某个方法设定超时时间) 参考文章: (1)c# http请求执行超时,解决办法(给某个方法设定超时时间) (2)https://www.cnblogs.com/ ...

  2. 在微信公众号后台进行基本配置时遇到系统发生错误,请稍后重试、token验证失败、请求URL超时的解决办法

    一."系统发生错误,请稍后重试" 这是因为你填写的URL地址,微信通过外网访问不到导致的,即URL不可以随便写,URL需要是一个外网可以访问的地址才行:本人使用的内外网穿透技术na ...

  3. Ajax请求Session超时的解决办法:拦截器 + 封装jquery的post方法

    目标:前端系统,后端系统等,统一处理Session超时和系统错误的问题. 可能需要处理的问题:Session超时.系统500错误.普通的业务错误.权限不足. 同步请求: Session超时,登录拦截器 ...

  4. tomcat资源请求慢_tomcat响应过慢——解决办法

    1.检查内存是否溢出 free -h 若内存溢出,首先检查代码是否存在内存泄漏 ,其次就是扩容 2.检查线程池是不是太小,存在线程等待过多 查看tomcat的PID ps -aux|grep tomc ...

  5. 易语言程序假死优化_易语言假死无响应采用处理事件解决办法

    易语言假死无响应采用处理事件解决办法 处理事件() 一个比较简单的理解是:让程序反应过来 这个函数一般是用在延时前面或后面,如果不用的话程序很容易形成假死,造成程序无响应 如下图,虽然这个程序还在运行 ...

  6. JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法

    JNI调用native方法出现 java.lang.UnsatisfiedLinkError: XXXclass.XXXmethod()异常的解决办法 参考文章: (1)JNI调用native方法出现 ...

  7. mysql导入sql文件过大或连接超时的解决办法

    原文:mysql导入sql文件过大或连接超时的解决办法 前段时间出差在现场开发的时候,导入数据库老是出问题.最后发现了一个神奇sql语句交给实施,只要导入出错就把如下语句执行就可以了.至今屡试不爽. ...

  8. java一次性查询几十万,几百万数据解决办法

    java查询一次性查询几十万,几百万数据解决办法 很早的时候写工具用的一个办法. 当时是用来把百万数据打包 成rar文件. 所以用了个笨办法. 希望高手指导一下,有什么好方法没有啊 1.先批量查出所有 ...

  9. php 脚本会超时吗,PHP脚本执行超时的解决办法

    PHP脚本执行超时的解决办法在php中默认脚本执行超时时间为30秒了,如果你未进行设置30秒之后如果你的脚本还未执行完就会超时了,下面我来给大详解解决PHP脚本执行超时的方法. php.ini 中缺省 ...

最新文章

  1. python 中 __name__ 的使用
  2. 代码的c++实现_一文带你快速理解FreeRTOS代码规范~
  3. 51Nod-1087 1 10 100 1000【模拟】
  4. repeat mysql翻译_MySQL数据库中系统函数repeat有哪些功能呢?
  5. 完整的企业机房设计(上)
  6. Android 投屏集成记录
  7. Xcode failed to get reply to handshake packet
  8. 拳皇重生服务器维护,《拳皇97 OL》3月8日更新维护公告
  9. 【小小干货】如何寻找综述性论文?
  10. 做人晶莹剔透,做事水滴石穿
  11. 零基础学C语言之初识C语言(上)
  12. IOS9禁用UIWebView的放大镜
  13. STM32-MIDI音乐播放程序
  14. 修改云服务器端口,如何修改云服务器默认3389端口
  15. 武汉新时标文化传媒有限公司“土味”正在崛起,短视频的春天来了
  16. er图转换成关系模型的例题_有关数据库系统的练习题 E-R图的关系画图转换,,急需 谢谢了...
  17. Python简直是万能的,这5大主要用途你一定要知道!
  18. Python爬取游戏英雄皮肤图片 王者+LOL
  19. linux虚拟机启动报错,Generating“/run/initramfs/rdsosreport.txt“
  20. 【应用回归分析】CH3 回归参数的估计1——最小二乘估计

热门文章

  1. 使用webuploader上传大文件
  2. 视频+讲义:大流量高并发互联网应用实践在线峰会资料全公开
  3. RFID固定资产-基于RFID技术在企业固定资产管理系统中的应用—铨顺宏
  4. 陪领导参加饭局,懂2个座次5道程序3套话术,不会喝酒也受重用
  5. 【ElasticSearch】学习笔记(三)es的高级操作
  6. 哈佛的经典20条校训
  7. 华为发布凌霄芯片华为正式发布鸿蒙,凌霄芯片
  8. java sdk下载_Java SDK的下载、安装和环境配置
  9. 量化投资实战(一)之KDJ交易策略
  10. ffmpeg添加双语字幕