31 lines
1.0 KiB
Java
31 lines
1.0 KiB
Java
package com.gunshi.project.xyt.util;
|
|
|
|
import com.google.common.base.Suppliers;
|
|
import okhttp3.OkHttpClient;
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.function.Supplier;
|
|
|
|
public class OkHttpUtil {
|
|
private OkHttpUtil(){
|
|
|
|
}
|
|
private static final Supplier<OkHttpClient> OK_HTTP_CLIENT_FACTORY = Suppliers.memoize(OkHttpClient::new);
|
|
|
|
public static OkHttpClient build(){
|
|
return OK_HTTP_CLIENT_FACTORY.get().newBuilder().retryOnConnectionFailure(true)
|
|
.connectTimeout(10, TimeUnit.SECONDS)
|
|
.callTimeout(240, TimeUnit.SECONDS)
|
|
.readTimeout(240, TimeUnit.SECONDS)
|
|
.build();
|
|
}
|
|
|
|
public static OkHttpClient build(int timeout, int callTimeout){
|
|
return OK_HTTP_CLIENT_FACTORY.get().newBuilder().retryOnConnectionFailure(true)
|
|
.connectTimeout(timeout, TimeUnit.SECONDS)
|
|
.callTimeout(callTimeout, TimeUnit.SECONDS)
|
|
.readTimeout(callTimeout, TimeUnit.SECONDS)
|
|
.build();
|
|
}
|
|
}
|