Commit bdd9ff1fd7a176f4518d2215770f37b042cfc970

Authored by 648540858
1 parent 0629d4cf

优化okhttp并发参数

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -23,27 +23,34 @@ public class ZLMRESTfulUtils { @@ -23,27 +23,34 @@ public class ZLMRESTfulUtils {
23 23
24 private final static Logger logger = LoggerFactory.getLogger(ZLMRESTfulUtils.class); 24 private final static Logger logger = LoggerFactory.getLogger(ZLMRESTfulUtils.class);
25 25
26 -  
27 - 26 + private OkHttpClient client;
28 27
29 public interface RequestCallback{ 28 public interface RequestCallback{
30 void run(JSONObject response); 29 void run(JSONObject response);
31 } 30 }
32 31
33 private OkHttpClient getClient(){ 32 private OkHttpClient getClient(){
34 - OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();  
35 - //todo 暂时写死超时时间 均为5s  
36 - httpClientBuilder.connectTimeout(5,TimeUnit.SECONDS); //设置连接超时时间  
37 - httpClientBuilder.readTimeout(5,TimeUnit.SECONDS); //设置读取超时时间  
38 - if (logger.isDebugEnabled()) {  
39 - HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> {  
40 - logger.debug("http请求参数:" + message);  
41 - });  
42 - logging.setLevel(HttpLoggingInterceptor.Level.BASIC);  
43 - // OkHttp進行添加攔截器loggingInterceptor  
44 - httpClientBuilder.addInterceptor(logging); 33 + if (client == null) {
  34 + OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
  35 + //todo 暂时写死超时时间 均为5s
  36 + // 设置连接超时时间
  37 + httpClientBuilder.connectTimeout(5,TimeUnit.SECONDS);
  38 + // 设置读取超时时间
  39 + httpClientBuilder.readTimeout(5,TimeUnit.SECONDS);
  40 + // 设置连接池
  41 + httpClientBuilder.connectionPool(new ConnectionPool(16, 10, TimeUnit.SECONDS));
  42 + if (logger.isDebugEnabled()) {
  43 + HttpLoggingInterceptor logging = new HttpLoggingInterceptor(message -> {
  44 + logger.debug("http请求参数:" + message);
  45 + });
  46 + logging.setLevel(HttpLoggingInterceptor.Level.BASIC);
  47 + // OkHttp進行添加攔截器loggingInterceptor
  48 + httpClientBuilder.addInterceptor(logging);
  49 + }
  50 + client = httpClientBuilder.build();
45 } 51 }
46 - return httpClientBuilder.build(); 52 + return client;
  53 +
47 } 54 }
48 55
49 56
@@ -164,9 +171,7 @@ public class ZLMRESTfulUtils { @@ -164,9 +171,7 @@ public class ZLMRESTfulUtils {
164 .build(); 171 .build();
165 logger.info(request.toString()); 172 logger.info(request.toString());
166 try { 173 try {
167 - OkHttpClient client = new OkHttpClient.Builder()  
168 - .readTimeout(10, TimeUnit.SECONDS)  
169 - .build(); 174 + OkHttpClient client = getClient();
170 Response response = client.newCall(request).execute(); 175 Response response = client.newCall(request).execute();
171 if (response.isSuccessful()) { 176 if (response.isSuccessful()) {
172 if (targetPath != null) { 177 if (targetPath != null) {