Skip to content

Commit d879e4e

Browse files
committed
Cloning does infact share the connection pools
1 parent b440584 commit d879e4e

File tree

2 files changed

+13
-17
lines changed
  • stubbornjava-common/src/main/java/com/stubbornjava/common
  • stubbornjava-webapp/src/main/java/com/stubbornjava/webapp/github

2 files changed

+13
-17
lines changed

stubbornjava-common/src/main/java/com/stubbornjava/common/HttpClient.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -63,21 +63,9 @@ public static OkHttpClient wrapWithMetircs(String name, OkHttpClient client) {
6363
}
6464

6565
// {{start:client}}
66-
private static final OkHttpClient client;
6766
private static final OkHttpClient globalClient;
6867
static {
69-
Dispatcher dispatcher = new Dispatcher();
70-
dispatcher.setMaxRequestsPerHost(15);
71-
72-
client = new OkHttpClient.Builder()
73-
.connectTimeout(2, TimeUnit.SECONDS)
74-
.writeTimeout(1, TimeUnit.MINUTES)
75-
.readTimeout(1, TimeUnit.MINUTES)
76-
.dispatcher(dispatcher)
77-
.addNetworkInterceptor(loggingInterceptor)
78-
.build();
79-
80-
globalClient = wrapWithMetircs("GlobalClient", baseClientBuilder().build());
68+
globalClient = wrapWithMetircs("GlobalClient", defaultClientBuilder().build());
8169
}
8270

8371
/*
@@ -91,8 +79,16 @@ public static OkHttpClient globalClient() {
9179
* Global client base for extending defaults.
9280
* This is the same as the global client but without metrics enabled yet.
9381
*/
94-
public static OkHttpClient.Builder baseClientBuilder() {
95-
return client.newBuilder();
82+
public static OkHttpClient.Builder defaultClientBuilder() {
83+
Dispatcher dispatcher = new Dispatcher();
84+
dispatcher.setMaxRequestsPerHost(15);
85+
86+
return new OkHttpClient.Builder()
87+
.connectTimeout(2, TimeUnit.SECONDS)
88+
.writeTimeout(1, TimeUnit.MINUTES)
89+
.readTimeout(1, TimeUnit.MINUTES)
90+
.dispatcher(dispatcher)
91+
.addNetworkInterceptor(loggingInterceptor);
9692
}
9793
// {{end:client}}
9894

@@ -102,7 +98,7 @@ public static OkHttpClient.Builder baseClientBuilder() {
10298
* a stateful cookie jar. This is useful when you need
10399
* to access password protected sites.
104100
*/
105-
public static OkHttpClient newClientWithCookieJar() {
101+
public static OkHttpClient newClientWithCookieJar(OkHttpClient client) {
106102
CookieManager cookieManager = new CookieManager();
107103
cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
108104
JavaNetCookieJar cookieJar = new JavaNetCookieJar(cookieManager);

stubbornjava-webapp/src/main/java/com/stubbornjava/webapp/github/GitHubApi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public Builder clientSecret(String clientSecret) {
8888
}
8989

9090
public GitHubApi build() {
91-
OkHttpClient client = HttpClient.baseClientBuilder()
91+
OkHttpClient client = HttpClient.defaultClientBuilder()
9292
.addInterceptor(HttpClient.getHeaderInterceptor("Accept", VERSION_HEADER))
9393
.addInterceptor(GitHubApi.gitHubAuth(clientId, clientSecret))
9494
.build();

0 commit comments

Comments
 (0)