Commit 9061e66d by 徐高华

自建

parent 14ea63ab
......@@ -56,19 +56,29 @@ import com.alibaba.fastjson.JSON;
public class HttpClient {
private static Logger logger = LogManager.getLogger(HttpClient.class);
private static org.apache.http.client.HttpClient mHttpClient;
private static Map<String,org.apache.http.client.HttpClient> map = new HashMap<>() ;
//private static
public static final int DEFAULT_MAX_CONNECTIONS = 1000;
public static final int DEFAULT_MAX_ROUTE_CONNECTIONS = 100;
public static final int DEFAULT_SOCKET_TIMEOUT = 20 * 1000;
public static final int DEFAULT_CONNECT_TIMEOUT = 30 * 1000;
public static final int DEFAULT_SOCKET_BUFFER_SIZE = 8192;
protected static org.apache.http.client.HttpClient getHttpClient() {
protected static org.apache.http.client.HttpClient getHttpClient(String ip) {
org.apache.http.client.HttpClient mHttpClient = map.get(ip) ;
logger.info("clientSize={}",map.size());
if(null != mHttpClient) {
return mHttpClient ;
}
/**
* old version
* **/
if (null == mHttpClient) {
synchronized (HttpClient.class) {
mHttpClient = map.get(ip) ;
if(null != mHttpClient) {
return mHttpClient ;
}
if (null == mHttpClient) {
HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
......@@ -92,22 +102,23 @@ public class HttpClient {
ClientConnectionManager conMgr = new ThreadSafeClientConnManager(params, schReg);
mHttpClient = new DefaultHttpClient(conMgr, params);
map.put(ip,mHttpClient) ;
}
}
}
return mHttpClient;
}
public static Map<String, Object> getWinxinResByJson(String url, String jsonStr, byte[] b) {
return getWinxinResByJson(url, jsonStr, null,b);
public static Map<String, Object> getWinxinResByJson(String url, String jsonStr, byte[] b , String ip) {
return getWinxinResByJson(url, jsonStr, null,b , ip);
}
public static Map<String, Object> getWinxinResByJson(String url, String jsonStr, Map<String, String> header , byte[] b) {
private static Map<String, Object> getWinxinResByJson(String url, String jsonStr, Map<String, String> header , byte[] b , String ip) {
long begin = new Date().getTime();
String resInfo = null;
Map<String, Object> weixinMap = new HashMap<String, Object>();
org.apache.http.client.HttpClient client = getHttpClient();
org.apache.http.client.HttpClient client = getHttpClient(ip);
setIp(client,b) ;
HttpPost post = new HttpPost(url);
StringBuilder builder = new StringBuilder();
......@@ -143,7 +154,7 @@ public class HttpClient {
return weixinMap;
}
public static Map<String, Object> getWinxinResByFile(String url, Map<String, ContentBody> map , byte[] b) {
public static Map<String, Object> getWinxinResByFile(String url, Map<String, ContentBody> map , byte[] b , String ip) {
long begin = new Date().getTime();
String entityStr = null;
......@@ -155,7 +166,7 @@ public class HttpClient {
}
Map<String, Object> obj = null;
org.apache.http.client.HttpClient client = getHttpClient();
org.apache.http.client.HttpClient client = getHttpClient(ip);
setIp(client,b) ;
HttpPost post = new HttpPost(url);
StringBuilder builder = new StringBuilder();
......@@ -177,9 +188,9 @@ public class HttpClient {
return obj;
}
public static Map<String, Object> getHttpByGet(String url, String userName, String password , byte[] b) {
private static Map<String, Object> getHttpByGet(String url, String userName, String password , byte[] b , String ip) {
Map<String, Object> map = new HashMap<String, Object>();
org.apache.http.client.HttpClient client = getHttpClient();
org.apache.http.client.HttpClient client = getHttpClient(ip);
setIp(client,b) ;
if (userName != null && password != null) {
CredentialsProvider credsProvider = new BasicCredentialsProvider();
......@@ -210,8 +221,8 @@ public class HttpClient {
}
public static Map<String, Object> getHttpByGet(String url , byte[] b) {
return getHttpByGet(url, null, null , b);
public static Map<String, Object> getHttpByGet(String url , byte[] b , String ip) {
return getHttpByGet(url, null, null , b , ip);
}
private static Map<String, Object> doResponse(HttpResponse response) {
......
......@@ -29,7 +29,7 @@ public class QywxController {
public Object selfPost(HttpServletRequest request,String url, String json, String ip) {
String traceid=request.getParameter("tranceid") ;
logger.info("自建post,url={},json={},{},{}", url, json,traceid,ip);
Map<String, Object> map = HttpClient.getWinxinResByJson(url, json, getIp(ip));
Map<String, Object> map = HttpClient.getWinxinResByJson(url, json, getIp(ip) , ip);
return map;
}
......@@ -37,7 +37,7 @@ public class QywxController {
public Object selfPostJson(HttpServletRequest request,String url, @RequestBody String json, String ip) {
String traceid=request.getParameter("tranceid") ;
logger.info("自建post json,url={},json={},{},{}", url, json,traceid,ip);
Map<String, Object> map = HttpClient.getWinxinResByJson(url, json, getIp(ip));
Map<String, Object> map = HttpClient.getWinxinResByJson(url, json, getIp(ip) , ip);
return map;
}
......@@ -45,7 +45,7 @@ public class QywxController {
public Object selfGet(HttpServletRequest request,String url, String ip) {
String traceid=request.getParameter("tranceid") ;
logger.info("自建get,url={},{},{}", url,traceid,ip);
Map<String, Object> map = HttpClient.getHttpByGet(url, getIp(ip));
Map<String, Object> map = HttpClient.getHttpByGet(url, getIp(ip) , ip);
return map;
}
......@@ -56,7 +56,7 @@ public class QywxController {
byte[] data = CommonUtil.getFileByte(fileUrl);
Map<String, ContentBody> paramsMap = new HashMap<String, ContentBody>();
paramsMap.put("media", new ByteArrayBody(data, ContentType.DEFAULT_BINARY, fileName));
Map<String, Object> map = HttpClient.getWinxinResByFile(url, paramsMap, getIp(ip));
Map<String, Object> map = HttpClient.getWinxinResByFile(url, paramsMap, getIp(ip) , ip);
logger.info("自建upload end={}",traceid);
return map;
}
......@@ -71,7 +71,7 @@ public class QywxController {
byte[] data = mf.getBytes();
Map<String, ContentBody> paramsMap = new HashMap<String, ContentBody>();
paramsMap.put("media", new ByteArrayBody(data, ContentType.DEFAULT_BINARY, fileName));
Map<String, Object> map = HttpClient.getWinxinResByFile(url, paramsMap, getIp(ip));
Map<String, Object> map = HttpClient.getWinxinResByFile(url, paramsMap, getIp(ip) , ip);
logger.info("自建upload-data end={}",traceid);
return map;
}
......
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