From 7792f24933dad85642f7897ebfd8b35d2ec582c8 Mon Sep 17 00:00:00 2001 From: Shane O'Neill Date: Mon, 9 Nov 2020 13:43:09 +0000 Subject: [PATCH 1/3] Issue #288 - Manual connection pool shutdown. --- .../com/binance/api/client/BinanceApiRestClient.java | 6 ++++++ .../api/client/impl/BinanceApiRestClientImpl.java | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/com/binance/api/client/BinanceApiRestClient.java b/src/main/java/com/binance/api/client/BinanceApiRestClient.java index f05cc0268..97707bf4a 100755 --- a/src/main/java/com/binance/api/client/BinanceApiRestClient.java +++ b/src/main/java/com/binance/api/client/BinanceApiRestClient.java @@ -295,4 +295,10 @@ public interface BinanceApiRestClient { * @param listenKey listen key that identifies a data stream */ void closeUserDataStream(String listenKey); + + /** + * Call to allow the client to shutdown cleanly instead of + * waiting for connection timeouts. + */ + void shutdown(); } diff --git a/src/main/java/com/binance/api/client/impl/BinanceApiRestClientImpl.java b/src/main/java/com/binance/api/client/impl/BinanceApiRestClientImpl.java index c1cd07f62..fdaa538e2 100755 --- a/src/main/java/com/binance/api/client/impl/BinanceApiRestClientImpl.java +++ b/src/main/java/com/binance/api/client/impl/BinanceApiRestClientImpl.java @@ -8,6 +8,8 @@ import com.binance.api.client.domain.general.Asset; import com.binance.api.client.domain.general.ExchangeInfo; import com.binance.api.client.domain.market.*; + +import okhttp3.OkHttpClient; import retrofit2.Call; import java.util.List; @@ -223,4 +225,12 @@ public void keepAliveUserDataStream(String listenKey) { public void closeUserDataStream(String listenKey) { executeSync(binanceApiService.closeAliveUserDataStream(listenKey)); } + + + // Close and remove all idle connections in the pool + @Override + public void shutdown() { + OkHttpClient okHttpClient = BinanceApiServiceGenerator.getSharedClient(); + okHttpClient.connectionPool().evictAll(); + } } From ce87b7164d6a646b09b962e7153bf963dc1e23d8 Mon Sep 17 00:00:00 2001 From: Shane O'Neill Date: Mon, 9 Nov 2020 13:44:07 +0000 Subject: [PATCH 2/3] Remove blank line --- src/main/java/com/binance/api/client/BinanceApiRestClient.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/binance/api/client/BinanceApiRestClient.java b/src/main/java/com/binance/api/client/BinanceApiRestClient.java index 97707bf4a..5fa17be07 100755 --- a/src/main/java/com/binance/api/client/BinanceApiRestClient.java +++ b/src/main/java/com/binance/api/client/BinanceApiRestClient.java @@ -296,6 +296,7 @@ public interface BinanceApiRestClient { */ void closeUserDataStream(String listenKey); + /** * Call to allow the client to shutdown cleanly instead of * waiting for connection timeouts. From e8701bbb656a2a08615e92e44362c49f9ed0f81a Mon Sep 17 00:00:00 2001 From: Shane O'Neill Date: Sun, 27 Jun 2021 22:03:15 +0200 Subject: [PATCH 3/3] Fix deserialisation issue due to Binance changes --- .../com/binance/api/client/domain/general/RateLimitType.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/binance/api/client/domain/general/RateLimitType.java b/src/main/java/com/binance/api/client/domain/general/RateLimitType.java index 25775dab5..fb5ee0e89 100755 --- a/src/main/java/com/binance/api/client/domain/general/RateLimitType.java +++ b/src/main/java/com/binance/api/client/domain/general/RateLimitType.java @@ -8,5 +8,6 @@ @JsonIgnoreProperties(ignoreUnknown = true) public enum RateLimitType { REQUEST_WEIGHT, - ORDERS + ORDERS, + RAW_REQUESTS }