diff --git a/java/opensaber-client/pom.xml b/java/opensaber-client/pom.xml
index e5cce41e0..1982c2a1d 100644
--- a/java/opensaber-client/pom.xml
+++ b/java/opensaber-client/pom.xml
@@ -56,6 +56,11 @@
spring-boot-starter-web
2.0.0.RELEASE
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.5
+
io.open-saber
pojos
diff --git a/java/opensaber-client/src/main/java/io/opensaber/registry/client/HttpClient.java b/java/opensaber-client/src/main/java/io/opensaber/registry/client/HttpClient.java
index 9d7a55d2c..ba4a33f97 100644
--- a/java/opensaber-client/src/main/java/io/opensaber/registry/client/HttpClient.java
+++ b/java/opensaber-client/src/main/java/io/opensaber/registry/client/HttpClient.java
@@ -1,10 +1,12 @@
package io.opensaber.registry.client;
import io.opensaber.pojos.Response;
+import io.opensaber.registry.config.Configuration;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
@@ -20,7 +22,11 @@ public static HttpClient getInstance() {
private RestTemplate restTemplate;
private HttpClient() {
- restTemplate = new RestTemplate();
+ HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
+ requestFactory.setConnectTimeout(Configuration.HTTP_CONNECT_TIMEOUT);
+ requestFactory.setReadTimeout(Configuration.HTTP_READ_TIMEOUT);
+ requestFactory.setConnectionRequestTimeout(Configuration.HTTP_CONNECTION_REQUEST_TIMEOUT);
+ restTemplate = new RestTemplate(requestFactory);
}
public ResponseEntity post(String url, HttpHeaders headers, String payload) {
diff --git a/java/opensaber-client/src/main/java/io/opensaber/registry/client/RestClient.java b/java/opensaber-client/src/main/java/io/opensaber/registry/client/RestClient.java
index 7880fb02b..3f99a46a2 100644
--- a/java/opensaber-client/src/main/java/io/opensaber/registry/client/RestClient.java
+++ b/java/opensaber-client/src/main/java/io/opensaber/registry/client/RestClient.java
@@ -10,6 +10,8 @@
import io.opensaber.registry.client.data.RequestData;
import io.opensaber.registry.client.data.ResponseData;
import io.opensaber.registry.config.Configuration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
@@ -19,6 +21,8 @@
public class RestClient implements Client {
+ private static Logger logger = LoggerFactory.getLogger(RestClient.class);
+
private HttpClient httpClient;
private static Type mapType = new TypeToken