情况是这样的,我有一个系统A,和一个系统B,他们都在同一个Weblogic下,系统A有些业务要通过系统B处理,A通过HttpClient框架跟B通讯,B返回处理结果给A。现在我客户端同时向A发起40个请求,然后A调用完B后,B不是立即返回给A处理结果,好像是一下子返回20个左右处理结果给A,然后A返回给客户端
A的请求代码:PostMethod post = new PostMethod(postUrl);
post.addParameter(dataKey,value);
HttpClient client = new HttpClient();
client.getHttpConnectionManager().getParams().setSoTimeout(timeout);
client.getHttpConnectionManager().getParams().setDefaultMaxConnectionsPerHost(400);
int rescode = client.executeMethod(post);
if(rescode != HttpStatus.SC_OK){
return "888888";
}
String res = post.getResponseBodyAsString();
post.releaseConnection();
                if(res != null){
    return res;
B就是把一个处理结果写回给A:PringWriter pw = response.getWriter();
                         pw.print(result);
                         pw.flush();
                         pw.close();
就是这样一个架构,假如同时没那么多请求的话,一切正常,但是40个并发请求的时候,B已经处理好了20个左右的请求了,然后pw.close()之后A没有收到回应,A是在基本同一时间收到B的回应的,白白等待了差不多10秒