diff --git a/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java index dc6903e..8bc7ddc 100644 --- a/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java +++ b/scylla-apiclient/src/main/java/com/scylladb/jmx/api/APIClient.java @@ -43,6 +43,19 @@ import com.scylladb.jmx.utils.SnapshotDetailsTabularData; public class APIClient { private Map cache = new HashMap(); + private final APIConfig config; + private final ClientConfig clientConfig; + private final Client client; + private JsonReaderFactory factory = Json.createReaderFactory(null); + + private static final Logger logger = Logger.getLogger(APIClient.class.getName()); + + public APIClient(APIConfig config) { + this.config = config; + this.clientConfig = new ClientConfig(); + clientConfig.register(new JacksonJaxbJsonProvider()); + this.client = ClientBuilder.newClient(clientConfig); + } private String getCacheKey(String key, MultivaluedMap param, long duration) { if (duration <= 0) { @@ -75,24 +88,12 @@ public class APIClient { return (value != null && value.valid(duration)) ? value.jsonObject() : null; } - private JsonReaderFactory factory = Json.createReaderFactory(null); - private static final Logger logger = Logger.getLogger(APIClient.class.getName()); - - private final APIConfig config; - private final ClientConfig clientConfig; - - public APIClient(APIConfig config) { - this.config = config; - this.clientConfig = new ClientConfig(); - clientConfig.register(new JacksonJaxbJsonProvider()); - } private String getBaseUrl() { return config.getBaseUrl(); } public Invocation.Builder get(String path, MultivaluedMap queryParams) { - Client client = ClientBuilder.newClient(clientConfig); WebTarget webTarget = client.target(getBaseUrl()).path(path); if (queryParams != null) { for (Entry> qp : queryParams.entrySet()) {