diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-07-15 13:09:18 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-07-15 13:09:18 +0200 |
commit | 568249a0a60484d17eace7e239df92d8726e57a8 (patch) | |
tree | 2081427cf11e27a01be16db17fa0348ab9b4ae80 /configserver | |
parent | 01fc78f6824d7a9b78989f893160053320d26752 (diff) |
Use VespaClientBuilderFactory in ConfigConvergenceChecker
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/pom.xml | 6 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java | 17 |
2 files changed, 20 insertions, 3 deletions
diff --git a/configserver/pom.xml b/configserver/pom.xml index f346cde63a3..8e6209fcef8 100644 --- a/configserver/pom.xml +++ b/configserver/pom.xml @@ -185,6 +185,12 @@ <scope>compile</scope> </dependency> <dependency> + <groupId>com.yahoo.vespa</groupId> + <artifactId>jaxrs_client_utils</artifactId> + <version>${project.version}</version> + <scope>compile</scope> <!-- TODO Should ideally be provided, but this bundle is not installed as part of configserver. Orchestrator bundle has the same issue --> + </dependency> + <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <scope>provided</scope> diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java index d55e07540d6..d0f8005ace1 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ConfigConvergenceChecker.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.config.server.application; +import ai.vespa.util.http.VespaClientBuilderFactory; import com.fasterxml.jackson.databind.JsonNode; import com.google.inject.Inject; import com.yahoo.component.AbstractComponent; @@ -17,8 +18,9 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.ProcessingException; import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.ClientRequestFilter; import javax.ws.rs.client.WebTarget; +import javax.ws.rs.core.HttpHeaders; import java.net.URI; import java.time.Duration; import java.util.ArrayList; @@ -55,6 +57,7 @@ public class ConfigConvergenceChecker extends AbstractComponent { ); private final StateApiFactory stateApiFactory; + private final VespaClientBuilderFactory clientBuilderFactory = new VespaClientBuilderFactory(); @Inject public ConfigConvergenceChecker() { @@ -97,6 +100,11 @@ public class ConfigConvergenceChecker extends AbstractComponent { } } + @Override + public void deconstruct() { + clientBuilderFactory.close(); + } + @Path(statePath) public interface StateApi { @Path(configSubPath) @@ -152,8 +160,11 @@ public class ConfigConvergenceChecker extends AbstractComponent { return false; } - private static Client createClient(Duration timeout) { - return ClientBuilder.newBuilder() + private Client createClient(Duration timeout) { + return clientBuilderFactory.newBuilder() + .register( + (ClientRequestFilter) ctx -> + ctx.getHeaders().put(HttpHeaders.USER_AGENT, List.of("config-convergence-checker"))) .property(ClientProperties.CONNECT_TIMEOUT, (int) timeout.toMillis()) .property(ClientProperties.READ_TIMEOUT, (int) timeout.toMillis()) .build(); |