From d39139a78620862657f220c26ce9e3dd38ca25dd Mon Sep 17 00:00:00 2001 From: brintal Date: Thu, 15 Nov 2018 00:05:19 +0100 Subject: [PATCH] configure custom dispatcher for sharedClient to allow for more parallel requests --- .../client/impl/BinanceApiServiceGenerator.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/binance/api/client/impl/BinanceApiServiceGenerator.java b/src/main/java/com/binance/api/client/impl/BinanceApiServiceGenerator.java index 490dd23dc..8307f48b9 100644 --- a/src/main/java/com/binance/api/client/impl/BinanceApiServiceGenerator.java +++ b/src/main/java/com/binance/api/client/impl/BinanceApiServiceGenerator.java @@ -4,6 +4,7 @@ import com.binance.api.client.constant.BinanceApiConstants; import com.binance.api.client.exception.BinanceApiException; import com.binance.api.client.security.AuthenticationInterceptor; +import okhttp3.Dispatcher; import okhttp3.OkHttpClient; import okhttp3.RequestBody; import okhttp3.ResponseBody; @@ -22,12 +23,20 @@ * Generates a Binance API implementation based on @see {@link BinanceApiService}. */ public class BinanceApiServiceGenerator { - private static final OkHttpClient sharedClient = new OkHttpClient.Builder() - .pingInterval(20, TimeUnit.SECONDS) - .build(); + private static final OkHttpClient sharedClient; private static final Converter.Factory converterFactory = JacksonConverterFactory.create(); + static { + Dispatcher dispatcher = new Dispatcher(); + dispatcher.setMaxRequestsPerHost(500); + dispatcher.setMaxRequests(500); + sharedClient = new OkHttpClient.Builder() + .dispatcher(dispatcher) + .pingInterval(20, TimeUnit.SECONDS) + .build(); + } + @SuppressWarnings("unchecked") private static final Converter errorBodyConverter = (Converter)converterFactory.responseBodyConverter(