From e8a427233c31c378e8c0b422ac25f063d1535016 Mon Sep 17 00:00:00 2001 From: "Xin,Zhang" Date: Tue, 4 Apr 2017 23:01:52 +0800 Subject: [PATCH] fix httpclient not close (#122) * fix httpclient issue * @ascrutae As you pr too many commits, I will use `confirm squash and merge`. --- .../a/eye/skywalking/api/client/CollectorClient.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/client/CollectorClient.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/client/CollectorClient.java index b77f956255..92185525c6 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/client/CollectorClient.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/client/CollectorClient.java @@ -30,15 +30,11 @@ import org.apache.http.impl.client.HttpClients; public class CollectorClient implements Runnable { private static ILog logger = LogManager.getLogger(CollectorClient.class); private static long SLEEP_TIME_MILLIS = 500; - private CloseableHttpClient httpclient; private String[] serverList; private volatile int selectedServer = -1; public CollectorClient() { serverList = Config.Collector.SERVERS.split(","); - httpclient = HttpClients.custom() - .setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()) - .build(); Random r = new Random(); if (serverList.length > 0) { selectedServer = r.nextInt(serverList.length); @@ -92,11 +88,13 @@ public class CollectorClient implements Runnable { .excludeFieldsWithoutExposeAnnotation() .create(); String messageJson = gson.toJson(message); - + CloseableHttpClient httpClient = HttpClients.custom() + .setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()) + .build(); try { HttpPost httpPost = ready2Send(messageJson); if (httpPost != null) { - CloseableHttpResponse httpResponse = httpclient.execute(httpPost); + CloseableHttpResponse httpResponse = httpClient.execute(httpPost); int statusCode = httpResponse.getStatusLine().getStatusCode(); if (200 != statusCode) { findBackupServer(); @@ -106,6 +104,8 @@ public class CollectorClient implements Runnable { } catch (IOException e) { findBackupServer(); throw e; + }finally { + httpClient.close(); } } -- GitLab