优化okhttp并发参数

This commit is contained in:
648540858 2022-11-25 11:57:46 +08:00
parent 6d60595aa9
commit 8368b84a3b

View File

@ -23,18 +23,22 @@ public class ZLMRESTfulUtils {
private final static Logger logger = LoggerFactory.getLogger(ZLMRESTfulUtils.class); private final static Logger logger = LoggerFactory.getLogger(ZLMRESTfulUtils.class);
private OkHttpClient client;
public interface RequestCallback{ public interface RequestCallback{
void run(JSONObject response); void run(JSONObject response);
} }
private OkHttpClient getClient(){ private OkHttpClient getClient(){
if (client == null) {
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder(); OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
//todo 暂时写死超时时间 均为5s //todo 暂时写死超时时间 均为5s
httpClientBuilder.connectTimeout(5,TimeUnit.SECONDS); //设置连接超时时间 // 设置连接超时时间
httpClientBuilder.readTimeout(5,TimeUnit.SECONDS); //设置读取超时时间 httpClientBuilder.connectTimeout(5,TimeUnit.SECONDS);
// 设置读取超时时间
httpClientBuilder.readTimeout(5,TimeUnit.SECONDS);
// 设置连接池
httpClientBuilder.connectionPool(new ConnectionPool(16, 10, TimeUnit.SECONDS));
if (logger.isDebugEnabled()) { if (logger.isDebugEnabled()) {
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> {
logger.debug("http请求参数" + message); logger.debug("http请求参数" + message);
@ -43,7 +47,10 @@ public class ZLMRESTfulUtils {
// OkHttp進行添加攔截器loggingInterceptor // OkHttp進行添加攔截器loggingInterceptor
httpClientBuilder.addInterceptor(logging); httpClientBuilder.addInterceptor(logging);
} }
return httpClientBuilder.build(); client = httpClientBuilder.build();
}
return client;
} }
@ -164,9 +171,7 @@ public class ZLMRESTfulUtils {
.build(); .build();
logger.info(request.toString()); logger.info(request.toString());
try { try {
OkHttpClient client = new OkHttpClient.Builder() OkHttpClient client = getClient();
.readTimeout(10, TimeUnit.SECONDS)
.build();
Response response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
if (response.isSuccessful()) { if (response.isSuccessful()) {
if (targetPath != null) { if (targetPath != null) {