File tree Expand file tree Collapse file tree
httpclient5/src/main/java/org/apache/hc/client5/http/impl Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3737import java .util .LinkedList ;
3838import java .util .List ;
3939import java .util .concurrent .ThreadFactory ;
40+ import java .util .concurrent .TimeUnit ;
4041import java .util .function .Function ;
4142import java .util .function .UnaryOperator ;
4243
158159 */
159160public class HttpAsyncClientBuilder {
160161
162+ private static final TimeValue ONE_SECOND = TimeValue .ofSeconds (1L );
163+
161164 private static class RequestInterceptorEntry {
162165
163166 enum Position { FIRST , LAST }
@@ -1094,8 +1097,10 @@ public CloseableHttpAsyncClient build() {
10941097 }
10951098 if (evictExpiredConnections || evictIdleConnections ) {
10961099 if (connManagerCopy instanceof ConnPoolControl ) {
1100+ TimeValue sleepTime = maxIdleTime .divide (10 , TimeUnit .NANOSECONDS );
1101+ sleepTime = sleepTime .compareTo (ONE_SECOND ) < 0 ? ONE_SECOND : sleepTime ;
10971102 final IdleConnectionEvictor connectionEvictor = new IdleConnectionEvictor ((ConnPoolControl <?>) connManagerCopy ,
1098- maxIdleTime , maxIdleTime );
1103+ sleepTime , maxIdleTime );
10991104 closeablesCopy .add (connectionEvictor ::shutdown );
11001105 connectionEvictor .start ();
11011106 }
Original file line number Diff line number Diff line change 3737import java .util .LinkedList ;
3838import java .util .List ;
3939import java .util .Map ;
40+ import java .util .concurrent .TimeUnit ;
4041import java .util .function .Function ;
4142import java .util .function .UnaryOperator ;
4243
145146 */
146147public class HttpClientBuilder {
147148
149+ private static final TimeValue ONE_SECOND = TimeValue .ofSeconds (1L );
150+
148151 private static class RequestInterceptorEntry {
149152
150153 enum Position { FIRST , LAST }
@@ -1105,8 +1108,10 @@ public CloseableHttpClient build() {
11051108 }
11061109 if (evictExpiredConnections || evictIdleConnections ) {
11071110 if (connManagerCopy instanceof ConnPoolControl ) {
1111+ TimeValue sleepTime = maxIdleTime .divide (10 , TimeUnit .NANOSECONDS );
1112+ sleepTime = sleepTime .compareTo (ONE_SECOND ) < 0 ? ONE_SECOND : sleepTime ;
11081113 final IdleConnectionEvictor connectionEvictor = new IdleConnectionEvictor ((ConnPoolControl <?>) connManagerCopy ,
1109- maxIdleTime , maxIdleTime );
1114+ sleepTime , maxIdleTime );
11101115 closeablesCopy .add (() -> {
11111116 connectionEvictor .shutdown ();
11121117 try {
You can’t perform that action at this time.
0 commit comments