標籤:httpclient
//private static HttpClient httpClient = HttpClientBuilder.create().build();
private static CloseableHttpClient httpClient;// = HttpClientBuilder.create().build(); //no timeout handling...
static {
RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();
//用戶端和伺服器建立串連的timeout
requestConfigBuilder.setConnectTimeout(30000);
//從串連池擷取串連的timeout
requestConfigBuilder.setConnectionRequestTimeout(30000);
//串連建立後,request沒有回應的timeout
requestConfigBuilder.setSocketTimeout(30000);
HttpClientBuilder clientBuilder = HttpClientBuilder.create();
clientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());
clientBuilder.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(30000).build()); //串連建立後,request沒有回應的timeout
clientBuilder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy());
httpClient = clientBuilder.build();
建立httpClient時,設定timeout時間