diff --git a/modules/jetty-http-server/pom.xml b/modules/jetty-http-server/pom.xml
index 661f5d897..50d78da6b 100644
--- a/modules/jetty-http-server/pom.xml
+++ b/modules/jetty-http-server/pom.xml
@@ -63,7 +63,6 @@
com.squareup.okhttp
okhttp
- 2.5.0
test
diff --git a/modules/okhttp-client/pom.xml b/modules/okhttp-client/pom.xml
index 26d0af7c6..ef485fcea 100644
--- a/modules/okhttp-client/pom.xml
+++ b/modules/okhttp-client/pom.xml
@@ -46,6 +46,10 @@
com.squareup.okhttp
okhttp
+
+ com.spotify
+ apollo-extra
+
junit
diff --git a/modules/okhttp-client/src/main/java/com/spotify/apollo/http/client/OkHttpClientProvider.java b/modules/okhttp-client/src/main/java/com/spotify/apollo/http/client/OkHttpClientProvider.java
index a160d5656..8b82f6522 100644
--- a/modules/okhttp-client/src/main/java/com/spotify/apollo/http/client/OkHttpClientProvider.java
+++ b/modules/okhttp-client/src/main/java/com/spotify/apollo/http/client/OkHttpClientProvider.java
@@ -19,8 +19,11 @@
*/
package com.spotify.apollo.http.client;
+import com.google.common.io.Closer;
import com.google.inject.Inject;
import com.google.inject.Provider;
+
+import com.spotify.apollo.concurrent.ExecutorServiceCloser;
import com.squareup.okhttp.ConnectionPool;
import com.squareup.okhttp.OkHttpClient;
import com.typesafe.config.Config;
@@ -33,10 +36,12 @@
class OkHttpClientProvider implements Provider {
private final OkHttpClientConfig config;
+ private final Closer closer;
@Inject
- OkHttpClientProvider(Config config) {
+ OkHttpClientProvider(Config config, Closer closer) {
this.config = new OkHttpClientConfig(config);
+ this.closer = closer;
}
@Override
@@ -66,6 +71,8 @@ public OkHttpClient get() {
config.maxAsyncRequestsPerHost().ifPresent(
max -> client.getDispatcher().setMaxRequestsPerHost(max));
+ closer.register(ExecutorServiceCloser.of(client.getDispatcher().getExecutorService()));
+
return client;
}
diff --git a/modules/okhttp-client/src/test/java/com/spotify/apollo/http/client/OkHttpClientProviderTest.java b/modules/okhttp-client/src/test/java/com/spotify/apollo/http/client/OkHttpClientProviderTest.java
index 94032faaa..f74be85c2 100644
--- a/modules/okhttp-client/src/test/java/com/spotify/apollo/http/client/OkHttpClientProviderTest.java
+++ b/modules/okhttp-client/src/test/java/com/spotify/apollo/http/client/OkHttpClientProviderTest.java
@@ -19,6 +19,8 @@
*/
package com.spotify.apollo.http.client;
+import com.google.common.io.Closer;
+
import com.squareup.okhttp.OkHttpClient;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
@@ -31,7 +33,8 @@ public class OkHttpClientProviderTest {
private static OkHttpClient buildClient(final String str) {
final Config config = ConfigFactory.parseString(str);
- final OkHttpClientProvider provider = new OkHttpClientProvider(config);
+ final Closer closer = Closer.create();
+ final OkHttpClientProvider provider = new OkHttpClientProvider(config, closer);
return provider.get();
}