yangyoupeng

修复http转发的时候的bug

......@@ -59,10 +59,15 @@ public class ApiJarSyncer {
indexFileNames(localFileInfoList);
List<JarFileInfo> resultList= repostiry.queryAllJarEvent();
LOG.info("begin to clean not existed jar on repository");
doClean(resultList);
LOG.info("end to clean not existed jar on repository");
LOG.info("begin to extract jar need to sync");
List<JarFileInfo> notExistJarInfos=notExistedJars(resultList,localFileInfoList);
LOG.info("end to extract jar need to sync");
LOG.info("begin to sync jars with other peers");
doSyncJarFiles(notExistJarInfos);
LOG.info("end to sync jars with other peers");
}
/**
* Method name: doClean <BR>
......
......@@ -43,6 +43,8 @@ public class HTTPService extends AbstractService<HttpServletRequest, HttpRespons
private static final Thread monitorThread=createMonitorThread();
private Integer SOCKET_TIMEOUT =10000;
private Integer CONNECTION_TIMEOUT=2000;
public static final String pathParameterSeperator="?";
private static final Timer CONNECTION_MANAGER_TIMER = new Timer(true);
......@@ -309,22 +311,23 @@ public class HTTPService extends AbstractService<HttpServletRequest, HttpRespons
String verb=getVerb(request);
String queryString=Utils.getQueryString(request);
HttpRequest httpRequest;
InputStreamEntity entity = new InputStreamEntity(request.getInputStream(), request.getContentLength());
switch (verb) {
case "POST":
httpRequest = RequestBuilder.post(uri +queryString).setEntity(entity).build();
httpRequest = RequestBuilder.post(uri+pathParameterSeperator+queryString).setEntity(entity).build();
break;
case "PUT":
httpRequest = RequestBuilder.put(uri + queryString).setEntity(entity).build();
httpRequest = RequestBuilder.put(uri +pathParameterSeperator+ queryString).setEntity(entity).build();
break;
default:
httpRequest = new BasicHttpRequest(verb, uri + queryString);
httpRequest = new BasicHttpRequest(verb, uri+pathParameterSeperator+ queryString);
}
Header[] headers=buildRequestHeaders(request);
httpRequest.setHeaders(headers);
LOG.info("build http request [{}]",httpRequest);
if(CLIENT.get() == null){
CLIENT.set(newClient());
......@@ -334,6 +337,7 @@ public class HTTPService extends AbstractService<HttpServletRequest, HttpRespons
HttpResponse respones=executeRequest(httpHosts,client,httpRequest);
// 我们需要添加一些额外的response的信息,最终是要将消息返回给真正的调用者
setResponse(respones,context);
LOG.info("http request forward respone [{}]",respones);
return respones;
}
......
......@@ -81,7 +81,7 @@ public class Utils {
while (iter.hasNext()) {
String queryKey = iter.next();
String queryValue = queryMap.get(queryKey);
builder.append(queryKey).append("&").append(queryValue);
builder.append(queryKey).append("=").append(queryValue);
if (iter.hasNext()) {
builder.append("&");
}
......
......@@ -7,6 +7,7 @@ server.address=192.168.3.79
es.host=192.168.0.162
es.port=9300
es.cluster.name=zhaoonline
spring.mvc.view.prefix: /WEB-INF/view/
spring.mvc.view.suffix: .jsp
......
......@@ -8,7 +8,7 @@
<bean id="elasticconfig" class="com.zhaoonline.support.gateway.client.ElasticConfiguration">
<property name="clusterName" value="zhaoonline"></property>
<property name="clusterName" value="${es.cluster.name}"></property>
<property name="hostPorts">
<map>
<!--<entry key="192.168.0.162" value="9300"/>-->
......