diff --git a/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestAutoConfiguration.java b/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestAutoConfiguration.java index 7306c370..07be8a17 100644 --- a/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestAutoConfiguration.java +++ b/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestAutoConfiguration.java @@ -5,6 +5,7 @@ import java.util.Collection; import java.util.List; import java.util.UUID; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import io.searchbox.client.JestClient; @@ -110,6 +111,7 @@ private JestClient createJestClient(String uri) { HttpClientConfig.Builder builder = new HttpClientConfig.Builder(uri) .maxTotalConnection(properties.getMaxTotalConnection()) .defaultMaxTotalConnectionPerRoute(properties.getDefaultMaxTotalConnectionPerRoute()) + .maxConnectionIdleTime(properties.getMaxConnectionIdleTime(), TimeUnit.MILLISECONDS) .readTimeout(properties.getReadTimeout()) .multiThreaded(properties.getMultiThreaded()); diff --git a/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestProperties.java b/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestProperties.java index ffa2a1cb..92d3fb1f 100644 --- a/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestProperties.java +++ b/spring-boot-starter-data-jest/src/main/java/com/github/vanroy/springboot/autoconfigure/data/jest/ElasticsearchJestProperties.java @@ -18,6 +18,7 @@ public class ElasticsearchJestProperties { private int maxTotalConnection = 50; private int defaultMaxTotalConnectionPerRoute = 50; private int readTimeout = 5000; + private long maxConnectionIdleTime = 0L; // Idle connection reaping disabled by default private Boolean multiThreaded = true; /** @@ -77,6 +78,14 @@ public void setReadTimeout(int readTimeout) { this.readTimeout = readTimeout; } + public long getMaxConnectionIdleTime() { + return maxConnectionIdleTime; + } + + public void setMaxConnectionIdleTime(long maxConnectionIdleTime) { + this.maxConnectionIdleTime = maxConnectionIdleTime; + } + public Boolean getMultiThreaded() { return multiThreaded; }