如何解决NoHttpResponse failed to respond问题
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章给大家介绍如何解决NoHttpResponse failed to respond问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目运行中遇到接口报错org.apac
千家信息网最后更新 2025年11月07日如何解决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安全错误
数据库的锁怎样保障安全
软件开发行业各地需求排名
构建网络安全法律体系
浙江新一代网络技术推广
规定网络安全事件等级为
战地5服务器网站
富士康软件开发出来好跳槽么
工程类计算机网络技术
饥荒科雷专用服务器
世界最大mc服务器
5e无法登录到安全服务器
数据库文件插入路径
设置服务器网络共享
网络安全常识一书推荐理由
access数据库难不难
gui下拉列表联动数据库
重庆开县蔬菜配送软件开发
目前的数据库
软件开发加盟代理合作
运城软件开发培训机构
移动软件开发产品经理职责
广州云计算网络技术有限公司
海得服务器怎么进read
物联网所采用的网络技术
怎样将数据库的表转换为三线表
网络安全手抄报一等奖超级难
宁夏网络安全宣传日
腾讯服务器停电了怎么办
数据库数据中间件
云服务器与vps区别
网络技术课程实验实践总结