Java Apache HttpAsyncClient读取响应?

Java Apache HttpAsyncClient读取响应?,java,http,apache-httpcomponents,apache-httpasyncclient,Java,Http,Apache Httpcomponents,Apache Httpasyncclient,} private zcsresponse httPost(URI、对象对象、列表参数、映射头){ HttpPost postRequest=新的HttpPost(uri); HttpResponse HttpResponse=null; 试一试{ addHeaders(postRequest,headers); addPostParams(postRequest、object、params); Future futureResponse=httpClient.execute(postReque

}

private zcsresponse httPost(URI、对象对象、列表参数、映射头){
HttpPost postRequest=新的HttpPost(uri);
HttpResponse HttpResponse=null;
试一试{
addHeaders(postRequest,headers);
addPostParams(postRequest、object、params);
Future futureResponse=httpClient.execute(postRequest,null);
httpResponse=futuresponse.get();
响应=**读取响应(httpResponse)**
}
私有字符串读取响应(HttpResponse响应)引发IOException{
BufferedReader rd=新的BufferedReader(
新的InputStreamReader(response.getEntity().getContent());
StringBuffer结果=新的StringBuffer();
字符串行=”;
而((line=rd.readLine())!=null){
结果。追加(行);
}
rd.close();
返回result.toString();
}
我对使用ApacheHTTPAsync客户端的代码有以下疑问

  • 反应堆与NPoolingConnectionManager的作用是什么
  • 目前,响应体是从post请求的流中读取的。并且没有使用NIO或非阻塞方式读取响应体。这是正确的方式吗
  •  private void init() {
       #Reactor 
       ioReactorConfig = IOReactorConfig.custom()                    
              .setIoThreadCount(Runtime.getRuntime().availableProcessors())
                                .setConnectTimeout(30000)
                                .setSoTimeout(30000)
                                .build();
    
       try {
           ioReactor = new DefaultConnectingIOReactor(ioReactorConfig);
       } catch (IOReactorException e) {
           e.printStackTrace();
           //TODO handle exception
        }
        connManager = new PoolingNHttpClientConnectionManager(ioReactor);
        httpClient = HttpAsyncClients.custom().setConnectionManager(connManager).build();
    
      private  ZCResponse httPost(URI uri, Object object,List<NameValuePair> params, Map<String,String> headers) {
            HttpPost postRequest = new HttpPost(uri);
            HttpResponse httpResponse = null;
            try {
                addHeaders(postRequest,headers);
                addPostParams(postRequest,object,params);
                Future<HttpResponse> futureResponse = httpClient.execute(postRequest, null);
                httpResponse = futureResponse.get();
                response = **readResponse(httpResponse);**
       }
    
    private  String readResponse(HttpResponse response) throws IOException {
                BufferedReader rd = new BufferedReader(
                        new InputStreamReader(response.getEntity().getContent()));
    
                StringBuffer result = new StringBuffer();
                String line = "";
                while ((line = rd.readLine()) != null) {
                    result.append(line);
                }
                rd.close();
                return result.toString();
            }