Adding configuration to evict expire and Idle 72/114272/1
authorwaqas.ikram <waqas.ikram@est.tech>
Tue, 27 Oct 2020 08:03:47 +0000 (08:03 +0000)
committerwaqas.ikram <waqas.ikram@est.tech>
Tue, 27 Oct 2020 11:35:23 +0000 (11:35 +0000)
 connections and not to resuse connections

Change-Id: I2eacfe1ef0fabf322d94c0a318836f1587b51ed8
Issue-ID: SO-3338
Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
common/src/main/java/org/onap/so/configuration/rest/HttpClientConnectionConfiguration.java
common/src/main/java/org/onap/so/configuration/rest/HttpComponentsClientConfiguration.java

index 6c2c76e..b17b1fe 100644 (file)
@@ -38,15 +38,18 @@ public class HttpClientConnectionConfiguration {
     @Value(value = "${rest.http.client.configuration.socketTimeOutInSec:180}")
     private int socketTimeOutInSeconds;
 
-    @Value(value = "${rest.http.client.configuration.socketTimeOutInSec:600}")
+    @Value(value = "${rest.http.client.configuration.timeToLiveInSeconds:600}")
     private int timeToLiveInSeconds;
 
-    @Value(value = "${rest.http.client.configuration.maxConnections:10}")
+    @Value(value = "${rest.http.client.configuration.maxConnections:100}")
     private int maxConnections;
 
-    @Value(value = "${rest.http.client.configuration.maxConnectionsPerRoute:2}")
+    @Value(value = "${rest.http.client.configuration.maxConnectionsPerRoute:20}")
     private int maxConnectionsPerRoute;
 
+    @Value(value = "${rest.http.client.configuration.evictIdleConnectionsTimeInSec:5}")
+    private int evictIdleConnectionsTimeInSec;
+
     /**
      * @return the socket connection time out in milliseconds
      */
@@ -82,4 +85,8 @@ public class HttpClientConnectionConfiguration {
         return (int) TimeUnit.SECONDS.toMinutes(timeToLiveInSeconds);
     }
 
+    public long getEvictIdleConnectionsTimeInSec() {
+        return evictIdleConnectionsTimeInSec;
+    }
+
 }
index 882ed95..aef2ed1 100644 (file)
@@ -22,6 +22,7 @@ package org.onap.so.configuration.rest;
 
 import java.util.concurrent.TimeUnit;
 import org.apache.http.client.config.RequestConfig;
+import org.apache.http.impl.NoConnectionReuseStrategy;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClientBuilder;
 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
@@ -55,7 +56,10 @@ public class HttpComponentsClientConfiguration {
         return HttpClientBuilder.create().setConnectionManager(poolingHttpClientConnectionManager())
                 .setMaxConnPerRoute(clientConnectionConfiguration.getMaxConnectionsPerRoute())
                 .setMaxConnTotal(clientConnectionConfiguration.getMaxConnections())
-                .setDefaultRequestConfig(requestConfig()).build();
+                .setDefaultRequestConfig(requestConfig()).setConnectionReuseStrategy(NoConnectionReuseStrategy.INSTANCE)
+                .evictExpiredConnections().evictIdleConnections(
+                        clientConnectionConfiguration.getEvictIdleConnectionsTimeInSec(), TimeUnit.SECONDS)
+                .build();
     }
 
     @Bean