优化okhttp并发参数

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

View File

@ -23,27 +23,34 @@ 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(){
OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder(); if (client == null) {
//todo 暂时写死超时时间 均为5s OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.connectTimeout(5,TimeUnit.SECONDS); //设置连接超时时间 //todo 暂时写死超时时间 均为5s
httpClientBuilder.readTimeout(5,TimeUnit.SECONDS); //设置读取超时时间 // 设置连接超时时间
if (logger.isDebugEnabled()) { httpClientBuilder.connectTimeout(5,TimeUnit.SECONDS);
HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> { // 设置读取超时时间
logger.debug("http请求参数" + message); httpClientBuilder.readTimeout(5,TimeUnit.SECONDS);
}); // 设置连接池
logging.setLevel(HttpLoggingInterceptor.Level.BASIC); httpClientBuilder.connectionPool(new ConnectionPool(16, 10, TimeUnit.SECONDS));
// OkHttp進行添加攔截器loggingInterceptor if (logger.isDebugEnabled()) {
httpClientBuilder.addInterceptor(logging); HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> {
logger.debug("http请求参数" + message);
});
logging.setLevel(HttpLoggingInterceptor.Level.BASIC);
// OkHttp進行添加攔截器loggingInterceptor
httpClientBuilder.addInterceptor(logging);
}
client = httpClientBuilder.build();
} }
return 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) {