Skip to content

Commit 9374090

Browse files
added override close method in httpProjectConfigManager to avoid memory leak (#530)
Co-authored-by: NomanShoaib <[email protected]>
1 parent 65b3f43 commit 9374090

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

core-httpclient-impl/src/main/java/com/optimizely/ab/config/HttpProjectConfigManager.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
*
3-
* Copyright 2019,2021, Optimizely
3+
* Copyright 2019, 2021, 2023, Optimizely
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
66
* you may not use this file except in compliance with the License.
@@ -16,18 +16,15 @@
1616
*/
1717
package com.optimizely.ab.config;
1818

19-
import com.optimizely.ab.HttpClientUtils;
2019
import com.optimizely.ab.OptimizelyHttpClient;
2120
import com.optimizely.ab.annotations.VisibleForTesting;
2221
import com.optimizely.ab.config.parser.ConfigParseException;
2322
import com.optimizely.ab.internal.PropertyUtils;
2423
import com.optimizely.ab.notification.NotificationCenter;
25-
import com.optimizely.ab.optimizelyconfig.OptimizelyConfig;
2624
import org.apache.http.*;
2725
import org.apache.http.client.ClientProtocolException;
2826
import org.apache.http.client.methods.CloseableHttpResponse;
2927
import org.apache.http.client.methods.HttpGet;
30-
import org.apache.http.impl.client.CloseableHttpClient;
3128
import org.apache.http.util.EntityUtils;
3229
import org.slf4j.Logger;
3330
import org.slf4j.LoggerFactory;
@@ -148,6 +145,16 @@ protected ProjectConfig poll() {
148145
return null;
149146
}
150147

148+
@Override
149+
public synchronized void close() {
150+
super.close();
151+
try {
152+
httpClient.close();
153+
} catch (IOException e) {
154+
e.printStackTrace();
155+
}
156+
}
157+
151158
@VisibleForTesting
152159
HttpGet createHttpRequest() {
153160
HttpGet httpGet = new HttpGet(uri);

0 commit comments

Comments
 (0)