当前位置: 首页 > news >正文

重庆seo整站优化外包服务厦门网站设计公司推荐

重庆seo整站优化外包服务,厦门网站设计公司推荐,做app的网站,怎样制作自己店铺的小程序最近几天在测境碰到一个问题#xff0c;httpclient 在使用线程池时, 间隔性的出现 NoHttpResponseException 异常。 ​​​​​​​httpclient org.apache.http.NoHttpResponseException: host:443 failed to respond 用了连接池很多年了, 一搜自己的博客, 竟然没做过一次整… 最近几天在测境碰到一个问题httpclient 在使用线程池时, 间隔性的出现 NoHttpResponseException 异常。 ​​​​​​​httpclient org.apache.http.NoHttpResponseException: host:443 failed to respond 用了连接池很多年了, 一搜自己的博客, 竟然没做过一次整理和收藏, 其实大致原因也猜出个八九不离十, 秉承着严谨的态度, 还是百度了一下...大致总结出2个原因 1.当服务端由于负载过大等情况发生时可能会导致在收到请求后无法处理(比如没有足够的线程资源)会直接丢弃链接而不进行处理。此时客户端就会报错NoHttpResponseException。 解决建议 重试 2.客户端与服务端建立的请求在服务端已经失效。例如服务端 springboot 内置 tomcat 默认 keepAliveTimeout 20s客户端自定义 keepAliveTimeout 30s客户端连接池中取出的空闲连接可能已经被服务端失效再次从连接池拿该失效连接进行请求时就会报错。 解决建议检查并关闭失效连接 问题依然解决, 解决过程中温习的知识还是需要记载下, 方便下次出现问题, 或者自己再次使用和有需要的小伙伴方便查找, PoolingHttpClientConnectionManager pool new PoolingHttpClientConnectionManager(socketFactoryRegistry);// pool max connectpool.setMaxTotal(maxTotal);// 设置最大路由pool.setDefaultMaxPerRoute(defaultMaxPerRoute);RequestConfig requestConfig RequestConfig.custom().setConnectionRequestTimeout(connectionRequestTimeout).setSocketTimeout(socketTimeout).setConnectTimeout(connectTimeout).build();HttpClientUtil.closeableHttpClient HttpClients.custom()// 设置连接池管理.setConnectionManager(pool)// 设置请求配置.setDefaultRequestConfig(requestConfig)//问题一解决方案设置重试.setServiceUnavailableRetryStrategy(new DefaultServiceUnavailableRetryStrategy(3, 2000))//问题二解决方案调整 keepAliveTimeout这样无法复用长连接.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy())//问题二解决方案设置重试次数.setRetryHandler(new DefaultHttpRequestRetryHandler(3, false))//问题二解决方案设置自动关闭过期链接.evictIdleConnections(30, TimeUnit.SECONDS).build(); 对于问题二解决方案中evictIdleConnections方法的工作原理感兴趣的同学, 可以查看源码, 这里贴出部分代码, 供参考, 其实自己实现也一样 初始化变量 HttpClientBuilder.evictIdleConnections() public final HttpClientBuilder evictIdleConnections(final long maxIdleTime, final TimeUnit maxIdleTimeUnit) {this.evictIdleConnections true;this.maxIdleTime maxIdleTime;this.maxIdleTimeUnit maxIdleTimeUnit;return this;} 构建逻辑 HttpClientBuilder.build()  if (evictExpiredConnections || evictIdleConnections) {final IdleConnectionEvictor connectionEvictor new IdleConnectionEvictor(cm,maxIdleTime 0 ? maxIdleTime : 10, maxIdleTimeUnit ! null ? maxIdleTimeUnit : TimeUnit.SECONDS,maxIdleTime, maxIdleTimeUnit);closeablesCopy.add(new Closeable() {Overridepublic void close() throws IOException {connectionEvictor.shutdown();try {connectionEvictor.awaitTermination(1L, TimeUnit.SECONDS);} catch (final InterruptedException interrupted) {Thread.currentThread().interrupt();}}});connectionEvictor.start();} 初始化链接处理线程 IdleConnectionEvictor public IdleConnectionEvictor(final HttpClientConnectionManager connectionManager,final ThreadFactory threadFactory,final long sleepTime, final TimeUnit sleepTimeUnit,final long maxIdleTime, final TimeUnit maxIdleTimeUnit) {this.connectionManager Args.notNull(connectionManager, Connection manager);this.threadFactory threadFactory ! null ? threadFactory : new DefaultThreadFactory();this.sleepTimeMs sleepTimeUnit ! null ? sleepTimeUnit.toMillis(sleepTime) : sleepTime;this.maxIdleTimeMs maxIdleTimeUnit ! null ? maxIdleTimeUnit.toMillis(maxIdleTime) : maxIdleTime;this.thread this.threadFactory.newThread(new Runnable() {Overridepublic void run() {try {while (!Thread.currentThread().isInterrupted()) {Thread.sleep(sleepTimeMs);connectionManager.closeExpiredConnections();if (maxIdleTimeMs 0) {connectionManager.closeIdleConnections(maxIdleTimeMs, TimeUnit.MILLISECONDS);}}} catch (final Exception ex) {exception ex;}}});}
http://www.zqtcl.cn/news/327496/

相关文章:

  • seo网站优化推广怎么做龙岗中心医院
  • 建网站程序智能网站建设平台
  • 建筑公司分几级资质seo入门培训
  • wap类网站上海网站建设免费推
  • 网站建设哪家好公司建设银行网站怎么登陆不
  • 关于建设网站的需求wordpress不能发布文章
  • 如何一键建淘宝客网站中国建设银行金华分行网站
  • 给wordpress添加公告英语seo
  • 佛山市网站建设系统wap浏览器网页版
  • 关于小说网站的一些建设流程学做蛋糕有哪些网站
  • 益阳购物网站开发设计禹城网站制作
  • 教育网站开发文档全网营销推广案例
  • 最流行的网站开发框架wordpress阅读权限
  • 怎么做推广网站创立网站
  • 制作自己的网站需要什么材料网站计费系统怎么做
  • 网站和域名的区别昆山网站开发建设公司
  • 兼职网站推广如何做西安市商标局
  • 打开网站说建设中是什么问题莱芜金点子招小时工
  • 做网站的相关协议秦皇岛解封最新消息今天
  • 网站托管维护方案新闻媒体发稿平台
  • 网站扩展名四平网站建设怎么选
  • 网站制作价格与售后视频网站建设有什么意义
  • 网站建设+太原1核1g可以做几个网站
  • 电商设计网站有哪些内容西安百度推广外包
  • 深圳网站建设价格多少做废旧金属的网站
  • wordpress 文档超级优化空间
  • 湖北seo网站推广官方网站怎么制作
  • 随州网站seo诊断wordpress 只显示一个主题
  • 建站登录可信网站认证 费用
  • 互站网站源码用jsp做网站一般会用到什么