需要使用java.net.URL類進行遠程數據請求的超時設置。一些谷歌搜索發現,有兩個系統屬性可用於設置URL類的超時,如下所示。用於自定義超時設置的java.net.URL的替代方法
sun.net.client.defaultConnectTimeout
sun.net.client.defaultReadTimeout
我無法控制所有系統,也不希望每個人都繼續設置系統屬性。有沒有其他的選擇可以讓我設置超時的遠程請求。 沒有任何庫,如果在java本身可用是最好的。
需要使用java.net.URL類進行遠程數據請求的超時設置。一些谷歌搜索發現,有兩個系統屬性可用於設置URL類的超時,如下所示。用於自定義超時設置的java.net.URL的替代方法
sun.net.client.defaultConnectTimeout
sun.net.client.defaultReadTimeout
我無法控制所有系統,也不希望每個人都繼續設置系統屬性。有沒有其他的選擇可以讓我設置超時的遠程請求。 沒有任何庫,如果在java本身可用是最好的。
如果你打開一個URLConnection
從URL
可以設置超時是這樣的:你如何使用
URL url = new URL(urlPath);
URLConnection con = url.openConnection();
con.setConnectTimeout(connectTimeout);
con.setReadTimeout(readTimeout);
InputStream in = con.getInputStream();
的URL
或者你在它傳遞給?
一個常見的替代品是Apache Commons HttpClient,它提供了對獲取HTTP URL的整個過程的更多控制。
他很可能簡單地調用'URL#openStream()',它確實會使用默認超時。 – BalusC 2011-03-18 12:24:33
@ ^:完全....感謝您的回答.... – Vishwanath 2011-03-18 13:14:28
讀取超時工作完美,但連接超時接縫不起作用 – agad 2014-06-03 11:47:40