记得上下班打卡 | git大法好,push需谨慎

Commit daf33005 authored by 胡佳晨's avatar 胡佳晨

修改 网络工具类

parent c7c2946a
......@@ -298,11 +298,10 @@ public class HttpUtil {
}
// 提交方式:表单、json
ResponseEntity<String> response = null;
HttpEntity httpEntity = new HttpEntity(params, httpHeaders);
if (HttpMethod.POST == method) {
HttpEntity<String> httpEntity = new HttpEntity(params, httpHeaders);
response = restTemplate.postForEntity(url, httpEntity, String.class);
} else if (HttpMethod.GET == method) {
HttpEntity<String> httpEntity = new HttpEntity(params, httpHeaders);
Map<String,Object> map = JSON.parseObject(params.toString());
response = restTemplate.exchange(url,method,httpEntity,String.class,map);
}
......
package com.liquidnet.commons.lang.util.spring;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.springframework.http.HttpMethod;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.DefaultResponseErrorHandler;
import org.springframework.web.client.RestTemplate;
import java.net.URI;
import java.util.concurrent.TimeUnit;
/**
......@@ -27,9 +31,9 @@ public class RestTemplateConfig {
PoolingHttpClientConnectionManager poolConnManager =
new PoolingHttpClientConnectionManager(20, TimeUnit.SECONDS);
// 设置最大链接数
poolConnManager.setMaxTotal(500*getMaxCpuCore() + 500 );
poolConnManager.setMaxTotal(500 * getMaxCpuCore() + 500);
// 单路由的并发数
poolConnManager.setDefaultMaxPerRoute(500*getMaxCpuCore());
poolConnManager.setDefaultMaxPerRoute(500 * getMaxCpuCore());
HttpClientBuilder httpClientBuilder = HttpClients.custom();
httpClientBuilder.setConnectionManager(poolConnManager);
......@@ -40,8 +44,9 @@ public class RestTemplateConfig {
// // 保持长链接配置,keep-alive
// httpClientBuilder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy());
HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
// HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory = new HttpComponentsClientRestfulHttpRequestFactory(httpClient);
// 链接超时配置 5秒
httpComponentsClientHttpRequestFactory.setConnectTimeout(5000);
// 连接读取超时配置
......@@ -57,12 +62,42 @@ public class RestTemplateConfig {
restTemplate.setErrorHandler(new DefaultResponseErrorHandler());
}
public static RestTemplate getRestTemplate(){
public static RestTemplate getRestTemplate() {
return restTemplate;
}
private static int getMaxCpuCore(){
private static int getMaxCpuCore() {
int cpuCore = Runtime.getRuntime().availableProcessors();
return cpuCore;
return cpuCore;
}
static class HttpComponentsClientRestfulHttpRequestFactory extends HttpComponentsClientHttpRequestFactory {
public HttpComponentsClientRestfulHttpRequestFactory(HttpClient httpClient) {
new HttpComponentsClientHttpRequestFactory(httpClient);
}
@Override
protected HttpUriRequest createHttpUriRequest(HttpMethod httpMethod, URI uri) {
if (httpMethod == HttpMethod.GET) {
return new HttpGetRequestWithEntity(uri);
}
return super.createHttpUriRequest(httpMethod, uri);
}
/**
* 定义HttpGetRequestWithEntity实现HttpEntityEnclosingRequestBase抽象类,以支持GET请求携带body数据
*/
private final class HttpGetRequestWithEntity extends HttpEntityEnclosingRequestBase {
public HttpGetRequestWithEntity(final URI uri) {
super.setURI(uri);
}
@Override
public String getMethod() {
return HttpMethod.GET.name();
}
}
}
}
......@@ -67,14 +67,13 @@ public class ITicketSystemServiceImpl implements ITicketSystemService {
headers.add("Accept", "application/json;charset=UTF-8");
HashMap<String, String> params = CollectionUtil.mapStringString();
params.put("accessToken", accessToken);
String json = HttpUtil.getRaw(ticketSystemUrl + "/standard/performance/type/list?accessToken={accessToken}" , JSON.toJSONString(params), headers);
String json = HttpUtil.getRaw(ticketSystemUrl + "/standard/performance/type/list?accessToken={accessToken}", JSON.toJSONString(params), headers);
ResponseDataVo<List<STPTListVo>> response =
JsonUtils.fromJson(HttpUtil.getRaw(ticketSystemUrl + "/standard/performance/type/list?accessToken={accessToken}" , JSON.toJSONString(params), headers),
new TypeReference<ResponseDataVo<List<STPTListVo>>>() {
});
log.info("json = "+json);
log.info("url="+ticketSystemUrl + "/standard/performance/type/list");
log.info("param="+JSON.toJSONString(params));
JsonUtils.fromJson(json, new TypeReference<ResponseDataVo<List<STPTListVo>>>() {
});
log.info("json = " + json);
log.info("url=" + ticketSystemUrl + "/standard/performance/type/list");
log.info("param=" + JSON.toJSONString(params));
return response.getData();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment