HttpClient连接池之CLOSE
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