我创建了一个使用POST / Json的基于Restlet的Web服务。
问题是在本地计算机上测试时,
效果非常好。但是当它部署在服务器上时,
比在我的本地开发中测试时多花了大约10秒
机器即使没有其他进程使用
也能获得响应服务器的资源。
答案 0 :(得分:0)
我使用Apache Http Client而不是
解决了这个问题 来自RESTlet的ClientResource。
我在远程Linux服务器上为ClientResource和Apache HTTP测试了相同的基于RESTlet的Web服务。前者花了大约10秒钟 后者不到1秒。而且我不知道为什么。
public class Test
{
public static void main(String [] args)
{
HttpClient httpClient = HttpClientBuilder.create().build(); //Use this instead
try {
HttpPost request = new HttpPost("http://hostname:port/testService");
StringEntity params =new StringEntity("{\"key\" : \"value\"}");
request.addHeader("content-type", "application/json");
request.addHeader("Accept", "application/json");
request.setEntity(params);
HttpResponse response = httpClient.execute(request);
String json_string = EntityUtils.toString(response.getEntity());
System.out.println(json_string);
}catch (Exception ex) {
// handle exception here
} finally {
httpClient.getConnectionManager().shutdown(); //Deprecated
}
}
}