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 接続が中断されると、接続リークが発生する可能性があることです。このシナリオでは、リースされた接続はプールに解放されません。接続がプールに適切に解放されるように、適切なリソースの割り当てを解除する方法はありますか?
前もって感謝します。