如何解决NoHttpResponse failed to respond问题
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章给大家介绍如何解决NoHttpResponse failed to respond问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目运行中遇到接口报错org.apac
千家信息网最后更新 2025年01月18日如何解决NoHttpResponse failed to respond问题
这篇文章给大家介绍如何解决NoHttpResponse failed to respond问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
项目运行中遇到接口报错org.apache.http.NoHttpResponseException: xxxx.com:80 failed to respond 报错,报错无规律出现,使用用postMan 等工具测试接口都正常,项目调试中无法重现报错,但生产环境中会有该错误产生。
服务端是springBoot 项目,客户端是SpringMvc
分析:使用postMan或者手写Test调用接口无异常,那么和项目中存在的差异在哪呢?从引入的包开始分析,发现使用httpClient版本均一致,忽然想到,项目中为了性能,是启用了连接池的,会不会是服务端主动关闭了连接,客户端不知道,仍然使用这个链接
验证:客户端建立连接->服务端手动关闭连接->客户端调用接口 宾狗 报错出来了
结论:服务端和客户端的keepAliveTimeOut 不一致,导致服务端先于客户端关闭了链接,而客户端仍然使用该连接,导致报错
解决:
方案1. 服务端设置keepAliveTimeOut 时间与客户端一致
方案2. 客户端配置ConnectionKeepAliveStrategy 代码如下:
ConnectionKeepAliveStrategy strategy = new ConnectionKeepAliveStrategy() {@Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { Args.notNull(response, "HTTP response"); final HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) {final HeaderElement he = it.nextElement(); final String param = he.getName(); final String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) {try {return Long.parseLong(value) * 1000; } catch (final NumberFormatException ignore) { } } }return 1; }};
HttpClients.custom().setConnectionManager(poolingHttpClientConnectionManager) .setConnectionManagerShared(true) .setKeepAliveStrategy(myStrategy) .build()
关于如何解决NoHttpResponse failed to respond问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
客户
客户端
服务
项目
接口
一致
问题
内容
方案
更多
链接
分析
帮助
不错
主动
代码
兴趣
小伙
小伙伴
工具
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
教育系统软件开发成本
水声通信网络技术水平
两台服务器共用公网
万方数据库知识平台
未来数据库设计操作题
怎么规划软件开发
dell 服务器 保修
计算机移动软件开发专业好吗
上海小型工控机服务器
观看同上一堂网络安全课
高新区运营网络技术费用
现代战舰服务器规则
access相当于什么数据库
如何提高软件开发的可靠性
云服务器可以挂淘宝么
浙江农信社软件开发岗
山东省网络安全大赛 获奖
软件开发经营场所
崇明区项目软件开发定制要求
要建立统一高效网络安全什么机制
竞聘图文网络技术中心
光格网络安全教育
计算机网络技术的小故事
dell服务器u盘引导
数据库技术新进展
数据库信息算不算知识产权
银河网络技术学院
广东鲁棒通网络技术有限公司
多单元服务器
ps4 重组数据库