Java中httpClient中三種超時設置


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

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


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


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


第三,SocketTimeout:    
這定義了Socket讀數據的超時時間,即從server獲取響應數據須要等待的時間。
當讀取或者接收Socket超時會拋出SocketTimeoutException


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM