From 7bba925e93945b957332efdeb8cee9e637bb21bf Mon Sep 17 00:00:00 2001 From: Nathan Poquette Date: Mon, 16 Jul 2018 14:14:17 -0500 Subject: [PATCH] Expose ability to override maxConnectionIdleTime via configuration properties --- .../data/jest/ElasticsearchJestAutoConfiguration.java | 2 ++ .../data/jest/ElasticsearchJestProperties.java | 9 +++++++++ 2 files changed, 11 insertions(+) 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; }