PoolingClientConnectionManager를 사용하고 있으며 연결이 누출되고있는 것으로 의심됩니다. 나는 아래와 같은 PoolStats을 인쇄하는 모니터링 스레드가 : PoolingClientConnectionManager PoolStats 및 잠재적 연결 누출 문제
[leased: 126; pending: 0; available: 14; max: 140]
..
[leased: 140; pending: 20; available: 0; max: 140]
..
[leased: 140; pending: 10; available: 0; max: 140]
내가 풀 연결 (140)의 수에 스레드의 동일한 수의 산란을, 그래서 나는> 최대 대기 + 임대하지 기대 않았다. 이 가정은 유효합니까? 아니면 관리자가 연결을 유지 한 경우입니까? 이 경우 연결이 "임대"또는 "사용 가능"으로 표시되는지 확실하지 않습니다.
내가 알아챈 점은 DNS 확인 중에 HttpClient 연결이 중단되면 연결 누출이 발생할 수 있다는 것입니다. 이 시나리오에서는 전용 연결이 풀에 다시 해제되지 않습니다. 적절한 자원을 할당 해제하여 연결이 풀로 다시 올바르게 릴리스되도록 제안하는 방법이 있습니까?
미리 감사드립니다.
감사합니다. 해당 "Connection released"디버그 로그가없는 "Connection leased"라는 PoolingClientConnectionManager가 있습니다. 이것은 연결 유출의 신호입니까? – teonadi
@teonadi : 예, 그렇습니다. – oleg