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

建立网站分为几阶段以家为主题做网站

建立网站分为几阶段,以家为主题做网站,专业制作网站报价,wordpress apache内存最近几天在测境碰到一个问题#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/5991/

相关文章:

  • 网站原型怎么做珠宝网站谁家做的好
  • 贵阳哪家网站建设公司好京津冀协同发展规划图
  • 无为县城乡建设局网站首页网站上怎么做通栏的图片
  • 徐州的网站设计百度建网站多少钱
  • 重庆长寿网站设计公司哪家专业深圳建设集团待遇
  • 有没有专门做标书的网站做网站的域名
  • 物流公司怎么做网站郑州做网站 熊掌号
  • 驾校做网站哪里有学网页设计的
  • 避免网站侵权安徽省两学一做网站
  • 潮州营销型网站建设推广网站开发都是用什么框架
  • 室内设计公司网站设计接做网站单子的网站
  • 南宁 江苏建设工程信息网站那家建网站宝盒好用
  • 做音乐网站的条件信息网站 模板
  • 图书馆网站建设情况精美的微网站
  • wordpress 微语长沙seo网站优化
  • 做一个网站成本多少钱刚做的网站上线后收不到了
  • 东莞网站建设科技公司免费的个人简历模板wps
  • 莱芜网站设计什么样的水平可以做网站
  • 做国外网站什么定位全国信息企业公示系统官网
  • 织梦网站上传步骤合肥网络seo
  • 中山市 做网站写作网站5妙不写就删除
  • 陕西省建设资质是哪个网站wordpress配置ftp服务器配置
  • 乐清网站设计公司哪家好带紫色箭头做网站软件
  • 山西网站建设哪家有微信营销软件手机版
  • 可以做360度全景图的网站长沙制作手机网站的公司
  • 9e做网站旅游类网站开发开题报告范文
  • 工商联网站建设方案上海市单位名称地址大全
  • 高校校园网网站内容如何建设凡科建站是不是免费的
  • 佳木斯企业网站建设中国建设厅网站首页
  • 厦门市建设工程造价网seo模板建站