From 57d0392cd069569f8797fded20a6406f5e6f156f Mon Sep 17 00:00:00 2001 From: Shiwei Tian Date: Mon, 16 Apr 2018 17:01:34 +0800 Subject: fix https timeout get connection Issue-ID: HOLMES-104 Change-Id: Ib235d4df9a221bbf2d2f0322aac73f9ca894bfbe Signed-off-by: Shiwei Tian --- .../holmes/rulemgt/bolt/enginebolt/EngineService.java | 14 +++++++++++--- .../holmes/rulemgt/dcae/DcaeConfigurationPolling.java | 15 ++++++++++++--- .../java/org/onap/holmes/rulemgt/msb/EngineIpList.java | 5 ++++- 3 files changed, 27 insertions(+), 7 deletions(-) (limited to 'rulemgt/src') diff --git a/rulemgt/src/main/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineService.java b/rulemgt/src/main/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineService.java index aa0bf32..15af38d 100644 --- a/rulemgt/src/main/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineService.java +++ b/rulemgt/src/main/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineService.java @@ -20,6 +20,9 @@ import java.util.HashMap; import javax.ws.rs.core.MediaType; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.jvnet.hk2.annotations.Service; @@ -41,10 +44,12 @@ public class EngineService { HashMap headers = createHeaders(); String url = PREFIX + ip + PORT + RuleMgtConstant.ENGINE_PATH + "/" + packageName; CloseableHttpClient httpClient = null; + HttpDelete httpDelete = new HttpDelete(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); - return HttpsUtils.delete(url, headers, httpClient); + return HttpsUtils.delete(httpDelete, headers, httpClient); } finally { + httpDelete.releaseConnection(); closeHttpClient(httpClient); } } @@ -55,10 +60,12 @@ public class EngineService { HashMap headers = createHeaders(); String url = PREFIX + ip + PORT + RuleMgtConstant.ENGINE_PATH; CloseableHttpClient httpClient = null; + HttpPost httpPost = new HttpPost(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); - return HttpsUtils.post(url, headers, new HashMap<>(), new StringEntity(content), httpClient); + return HttpsUtils.post(httpPost, headers, new HashMap<>(), new StringEntity(content), httpClient); } finally { + httpPost.releaseConnection(); closeHttpClient(httpClient); } } @@ -68,9 +75,10 @@ public class EngineService { HashMap headers = createHeaders(); String url = PREFIX + ip + PORT + RuleMgtConstant.ENGINE_PATH; CloseableHttpClient httpClient = null; + HttpPut httpPut = new HttpPut(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); - return HttpsUtils.put(url, headers, new HashMap<>(), new StringEntity(content),httpClient); + return HttpsUtils.put(httpPut, headers, new HashMap<>(), new StringEntity(content),httpClient); } finally { closeHttpClient(httpClient); } diff --git a/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java b/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java index d1b2aba..2d63bb6 100644 --- a/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java +++ b/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java @@ -29,6 +29,9 @@ import java.util.List; import javax.ws.rs.core.MediaType; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPut; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.onap.holmes.common.dcae.DcaeConfigurationQuery; @@ -104,12 +107,14 @@ public class DcaeConfigurationPolling implements Runnable { HashMap headers = new HashMap<>(); headers.put("Content-Type", MediaType.APPLICATION_JSON); CloseableHttpClient httpClient = null; + HttpGet httpGet = new HttpGet(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); - HttpResponse httpResponse = HttpsUtils.get(url, headers, httpClient); + HttpResponse httpResponse = HttpsUtils.get(httpGet, headers, httpClient); String response = HttpsUtils.extractResponseEntity(httpResponse); return JSON.parseObject(response,RuleQueryListResponse.class); } finally { + httpGet.releaseConnection(); closeHttpClient(httpClient); } } @@ -129,15 +134,17 @@ public class DcaeConfigurationPolling implements Runnable { headers.put("Accept", MediaType.APPLICATION_JSON); HttpResponse httpResponse; CloseableHttpClient httpClient = null; + HttpPut httpPut = new HttpPut(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); httpResponse = HttpsUtils - .put(url, headers, new HashMap<>(), new StringEntity(content), httpClient); + .put(httpPut, headers, new HashMap<>(), new StringEntity(content), httpClient); } catch (UnsupportedEncodingException e) { throw new CorrelationException("Failed to create https entity.", e); } catch (Exception e) { throw new CorrelationException(e.getMessage()); } finally { + httpPut.releaseConnection(); closeHttpClient(httpClient); } if (httpResponse != null) { @@ -155,13 +162,15 @@ public class DcaeConfigurationPolling implements Runnable { HashMap headers = new HashMap<>(); headers.put("Content-Type", MediaType.APPLICATION_JSON); CloseableHttpClient httpClient = null; + HttpDelete httpDelete = new HttpDelete(url + "/" + correlationRule.getRuleId()); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); - HttpsUtils.delete(url + "/" + correlationRule.getRuleId(), headers, httpClient); + HttpsUtils.delete(httpDelete, headers, httpClient); } catch (Exception e) { log.warn("Failed to delete rule, the rule id is : " + correlationRule.getRuleId() + " exception messge is : " + e.getMessage(), e); } finally { + httpDelete.releaseConnection(); closeHttpClient(httpClient); } }); diff --git a/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/EngineIpList.java b/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/EngineIpList.java index 992785f..9b30705 100644 --- a/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/EngineIpList.java +++ b/rulemgt/src/main/java/org/onap/holmes/rulemgt/msb/EngineIpList.java @@ -19,6 +19,7 @@ package org.onap.holmes.rulemgt.msb; import java.io.IOException; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.jvnet.hk2.annotations.Service; import org.onap.holmes.common.api.entity.ServiceEntity; @@ -52,14 +53,16 @@ public class EngineIpList { public List getServiceCount()throws Exception{ String response; CloseableHttpClient httpClient = null; + HttpGet httpGet = new HttpGet(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); HttpResponse httpResponse = HttpsUtils - .get(url, new HashMap<>(), httpClient); + .get(httpGet, new HashMap<>(), httpClient); response = HttpsUtils.extractResponseEntity(httpResponse); } catch (Exception e) { throw e; } finally { + httpGet.releaseConnection(); if (httpClient != null) { try { httpClient.close(); -- cgit 1.2.3-korg