2013-02-09 24 views
0

爲每個新請求重新使用HTTPClient實例是一種不好的做法。我做了一個request從yahoo webservice獲取數據,現在在另一個頁面中,我撥打了webservice致電谷歌。HTTPClient實例是不是要重複使用?

我可以在這兩個不同的頁面中使用相同的HTTPClient實例,還是應該爲兩者創建新的HTTPClient對象?

回答

5

你一定要重複使用它們,並把HttpClient作爲一個單例。通過在整個應用程序中重用單個實例,可以充分利用保持活動的連接並在調用之間保持Cookie。

引述official documentation爲3.X:

一般來說,建議有每通信組件或甚至每個應用程序的HttpClient的單個實例。但是,如果應用程序很少使用HttpClient,並且不保證HttpClient在內存中的空閒實例,則強烈建議在處理HttpClient實例之前顯式關閉多線程連接管理器。這將確保正確關閉連接池中的所有HTTP連接。

同樣適用於4.x,只要確保使用PoolingClientConnectionManager即可。

相關問題