Java中httpClient中三種超時設置

本文章給大家介紹一下關於Java中httpClient中的三種超時設置小結
 
在Apache的HttpClient包中,有三個設置超時的地方:

/* 從連接池中取連接的超時時間*/ 
ConnManagerParams.setTimeout(params, 1000); 
/*連接超時*/ 
HttpConnectionParams.setConnectionTimeout(params, 2000); 
/*請求超時*/
HttpConnectionParams.setSoTimeout(params, 4000);


第一,ConnectionPoolTimeout:
定義了從ConnectionManager管理的連接池中取出連接的超時時間。
出錯會拋出ConnectionPoolTimeoutException


第二,ConnectionTimeout:  
定義了通過網絡與服務器建立連接的超時時間,Httpclient包中通過一個異步線程去創建與服務器的socket連接,這就是該socket連接的超時時間。
當連接HTTP服務器或者等待HttpConnectionManager管理的一個有效連接超時出錯會拋出ConnectionTimeoutException


第三,SocketTimeout:    
這定義了Socket讀數據的超時時間,即從服務器獲取響應數據需要等待的時間。
當讀取或者接收Socket超時會拋出SocketTimeoutException
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章