当前位置:首页 > Web开发 > 正文

HttpClient连接池之CLOSE

2024-03-31 Web开发

HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查

今天解决了一个HttpClient的异常,汗啊,一个HttpClient使用稍有掉慎城市是毁灭级另外啊。

这里有之前因为route配置不当导致处事器异常的一个措置惩罚惩罚:

里面的HttpConnectionManager实现就是我在这里使用的实现。

简单来说CLOSE_WAIT数目过大是由于被动封锁连接措置惩罚惩罚不当导致的。

我说一个场景,处事器A会去请求处事器B上面的apache获取文件资源,正常情况下,如果请求告成,那么在抓取完资源后处事器A会主动发出封锁连接的请求,这个时候就是主动封锁连接,连接状态我们可以看到是TIME_WAIT。如果一旦产生异常呢?假设请求的资源处事器B上并不存在,那么这个时候就会由处事器B发出封锁连接的请求,处事器A就是被动的封锁了连接,如果处事器A被动封锁连接之后本身并没有释放连接,,那就会造成CLOSE_WAIT的状态了。

HttpClient连接池之CLOSE_WAIT

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32398.html