2014-12-31 2 views
0

У меня есть список reqeust, у которого есть 10 запросов, которые имеют одинаковый формат только одного другого параметра, и эти запросы отправляются в один и тот же URI. я не так ясно, как releaseConnection делать, и у меня есть код, как показано ниже:HttpPost releaseConnection useage

HttpPost testPost = new HttpPost(http://test.mysite.com:8008/); 
try{ 
    for (int index = 0; index < getRequests().size(); index++) { 
     String request = getRequests().get(i); 
     StringEntity se = new StringEntity(request , Consts.UTF_8); 
     se.setContentType("text/xml");   
     post.setEntity(se); 
     HttpResponse response = getHttpclient().execute(post); 
     SAXReader reader = new SAXReader(); 
     Document document = reader.read(response.getEntity().getContent()); 
     //do something with the document 
    } 
} finally { 
    post.releaseConnection();    
} 

И я пытаюсь изменить цикл ниже, он все еще работает:

HttpPost testPost = new HttpPost(http://test.mysite.com:8008/); 

for (int index = 0; index < getRequests().size(); index++) { 
    try{ 
     String request = getRequests().get(i); 
     StringEntity se = new StringEntity(request , Consts.UTF_8); 
     se.setContentType("text/xml");   
     post.setEntity(se); 
     HttpResponse response = getHttpclient().execute(post); 
     SAXReader reader = new SAXReader(); 
     Document document = reader.read(response.getEntity().getContent()); 
     //do something with the document 
    } finally { 
     post.releaseConnection();    
    } 
} 

Какой путь лучше обрабатывать выпуск соединения?

ответ

1

Вы должны использовать первый способ, потому что:

  • В вашем втором случае вы закрываете соединение с каждой HTTP вызовом
  • В вашем втором случае, вы создаете новое соединение с каждым вызовом.
Смежные вопросы