天天看點

java.net.sockttimeout_Http逾時時間之SocketTimeout

public void setReadTimeout(inttimeout) {if (timeout < 0) {throw new IllegalArgumentException("timeout can not be negative");

}

readTimeout=timeout;

}

public intgetSocketTimeout() {returnsocketTimeout;

}

1. connectTimeOut:指建立連接配接的逾時時間,比較容易了解

2. connectionRequestTimeOut:指從連接配接池擷取到連接配接的逾時時間,如果是非連接配接池的話,該參數暫時沒有發現有什麼用處

3. socketTimeOut:指用戶端和服務進行資料互動的時間,是指兩者之間如果兩個資料包之間的時間大于該時間則認為逾時,而不是整個互動的整體時間,比如如果設定1秒逾時,如果每隔0.8秒傳輸一次資料,傳輸10次,總共8秒,這樣是不逾時的。而如果任意兩個資料包之間的時間超過了1秒,則逾時。

線上問題:設定sockettimeout 15秒,但是實際到達156秒,線程數陡增,導緻機器崩潰,具體原因有待抓包分析

1.RequestConfig 的配置

2.sockettimeout