官方文档地址:Timeouts
配置请求超时可以通过提供一个RequestConfigCallback
实例来完成,同时通过其构建器构建RestClient
。该接口有一个方法,该方法接收org.apache.http.client.config.RequestConfig.Builder
的实例作为参数,并具有相同的返回类型。可以修改并返回请求配置生成器。在下面的例子中,我们增加了连接超时(默认为 1 秒)和 socket 超时(默认为 30 秒)。
RestClientBuilder builder = RestClient.builder(
new HttpHost("localhost", 9200))
.setRequestConfigCallback(
new RestClientBuilder.RequestConfigCallback() {
@Override
public RequestConfig.Builder customizeRequestConfig(
RequestConfig.Builder requestConfigBuilder) {
return requestConfigBuilder
.setConnectTimeout(5000)
.setSocketTimeout(60000);
}
});
超时也可以通过RequestOptions
设置,它覆盖了 RestClient``customizeRequestConfig
。
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(5000)
.setSocketTimeout(60000)
.build();
RequestOptions options = RequestOptions.DEFAULT.toBuilder()
.setRequestConfig(requestConfig)
.build();