你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
HttpClientOptions 类
- java.
lang. Object - com.
azure. core. util. ClientOptions - com.
azure. core. util. HttpClientOptions
- com.
- com.
public final class HttpClientOptions
extends ClientOptions
的 HttpClient常规配置选项。
HttpClient 实现可能不支持此类中的所有配置选项。
构造函数摘要
构造函数 | 说明 |
---|---|
HttpClientOptions() |
创建 HttpClientOptions 的新实例。 |
方法摘要
方法继承自 ClientOptions
方法继承自 java.lang.Object
构造函数详细信息
HttpClientOptions
public HttpClientOptions()
创建 HttpClientOptions 的新实例。
方法详细信息
getConfiguration
getConnectTimeout
public Duration getConnectTimeout()
获取要发送的请求的连接超时。
默认连接超时为 10 秒。
Returns:
getConnectionIdleTimeout
public Duration getConnectionIdleTimeout()
获取空闲连接关闭前的持续时间。
默认连接空闲超时为 60 秒。
Returns:
getHttpClientProvider
public Class getHttpClientProvider()
获取应用于构造 实例的HttpClient实现的类型HttpClientProvider。
Returns:
getMaximumConnectionPoolSize
public Integer getMaximumConnectionPoolSize()
获取基础 HTTP 客户端使用的最大连接池大小。
修改最大连接池大小可能会影响应用程序的性能。 增加最大连接池会导致应用程序可用的连接数更多,但可能会导致网络资源争用更多。 建议对不同的最大连接池大小执行性能分析,以便为应用程序找到正确的配置。
此最大连接池大小不是全局配置,而是使用此 HttpClientOptions创建的每个 HttpClient 的实例级配置。
默认的最大连接池大小由基础 HTTP 客户端确定。 将最大连接池大小设置为 null 会将配置重置为使用基础 HTTP 客户端确定的默认值。
Returns:
getProxyOptions
getReadTimeout
public Duration getReadTimeout()
获取读取服务器响应时使用的读取超时持续时间。
默认读取超时为 60 秒。
Returns:
getResponseTimeout
public Duration getResponseTimeout()
获取等待服务器答复时使用的响应超时持续时间。
默认响应超时为 60 秒。
Returns:
getWriteTimeout
public Duration getWriteTimeout()
获取要发送的请求的写入超时。
默认写入超时为 60 秒。
Returns:
readTimeout
public HttpClientOptions readTimeout(Duration readTimeout)
设置读取服务器响应时使用的读取超时持续时间。
在收到服务器响应后触发第一次响应读取后,读取超时将开始。 此超时会定期触发,但如果另一个读取操作在超时触发到完成之间完成,则不会触发其操作。
如果 readTimeout
为 null, PROPERTY_AZURE_REQUEST_READ_TIMEOUT 则使用 60 秒超时,如果超时 Duration 小于或等于零,则不会对响应读取应用任何超时期限。 应用超时时,最大为 1 毫秒,将使用 的值 readTimeout
。
默认读取超时为 60 秒。
Parameters:
Returns:
responseTimeout
public HttpClientOptions responseTimeout(Duration responseTimeout)
设置等待服务器答复时使用的响应超时持续时间。
响应超时在请求写入完成后开始,并在收到服务器响应时触发第一个响应读取后完成。
如果 responseTimeout
为 null, PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会对响应应用任何超时。 应用超时时,最大为 1 毫秒,将使用 的值 responseTimeout
。
默认响应超时为 60 秒。
Parameters:
Returns:
setApplicationId
public HttpClientOptions setApplicationId(String applicationId)
设置应用程序 ID。
applicationId
用于配置UserAgentPolicy遥测/监视目的。
有关其他信息 ,请参阅 Azure 核心:遥测策略 。
示例代码
创建具有应用程序 ID“myApplicationId”的 ClientOptions
ClientOptions clientOptions = new ClientOptions()
.setApplicationId("myApplicationId");
Overrides:
HttpClientOptions.setApplicationId(String applicationId)Parameters:
setConfiguration
public HttpClientOptions setConfiguration(Configuration configuration)
设置 将使用的配置存储 HttpClient 区。
Parameters:
Returns:
setConnectTimeout
public HttpClientOptions setConnectTimeout(Duration connectTimeout)
设置要发送的请求的连接超时。
连接超时在请求尝试连接到远程主机后开始,并在解析连接时结束。
如果 connectTimeout
为 null, PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT 或者将使用 10 秒超时,如果小于 Duration 或等于零,则不会应用任何超时。 应用超时时,最大为 1 毫秒,将使用 的值 connectTimeout
。
默认连接超时为 10 秒。
Parameters:
Returns:
setConnectionIdleTimeout
public HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)
设置空闲连接之前的持续时间。
连接完成其最后一个网络请求后,连接空闲超时将开始。 每次使用连接时,空闲超时都会重置。
如果 connectionIdleTimeout
为 null,则将使用 60 秒超时,如果它 Duration 小于或等于零,则不会应用任何超时期限。 应用超时时,最大为 1 毫秒,将使用 的值 connectionIdleTimeout
。
默认连接空闲超时为 60 秒。
Parameters:
Returns:
setHeaders
public HttpClientOptions setHeaders(Iterable
设置 Header。
传递的标头应用于随客户端发送的每个请求。
这会覆盖以前设置的所有标头。
示例代码
使用标头“myCustomHeader”:“myStaticValue”创建 ClientOptions
ClientOptions clientOptions = new ClientOptions()
.setHeaders(Collections.singletonList(new Header("myCustomHeader", "myStaticValue")));
Overrides:
HttpClientOptions.setHeaders(Iterable<Header> headers)Parameters:
setHttpClientProvider
public HttpClientOptions setHttpClientProvider(Class httpClientProvider)
设置应用于构造 实例的HttpClient实现类型HttpClientProvider。 如果未设置该值或为空字符串,则 ServiceLoader 将HttpClientProvider首先解析用于创建 的HttpClient实例。 如果值已设置,并且与 ServiceLoaderIllegalStateException 解析的任何HttpClientProvider值不匹配,则在尝试创建 实例HttpClient时将引发 。
Parameters:
Returns:
setMaximumConnectionPoolSize
public HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)
设置基础 HTTP 客户端使用的最大连接池大小。
修改最大连接池大小可能会影响应用程序的性能。 增加最大连接池将导致应用程序可以使用更多连接,但可能会导致网络资源争用更多。 建议对不同的最大连接池大小执行性能分析,以便为应用程序找到正确的配置。
此最大连接池大小不是全局配置,而是使用此 HttpClientOptions创建的每个 HttpClient 的实例级配置。
默认的最大连接池大小由基础 HTTP 客户端确定。 将最大连接池大小设置为 null 会将配置重置为使用基础 HTTP 客户端确定的默认值。
Parameters:
Returns:
setProxyOptions
public HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)
ProxyOptions设置 将使用的 HttpClient 。
Parameters:
Returns:
setReadTimeout
public HttpClientOptions setReadTimeout(Duration readTimeout)
设置读取服务器响应时使用的读取超时持续时间。
在收到服务器响应后触发第一次响应读取后,读取超时将开始。 此超时会定期触发,但如果另一个读取操作在超时触发到完成之间完成,则不会触发其操作。
如果 readTimeout
为 null, PROPERTY_AZURE_REQUEST_READ_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会对响应读取应用超时期限。 应用超时时,最大为 1 毫秒,将使用 的值 readTimeout
。
默认读取超时为 60 秒。
Parameters:
Returns:
setResponseTimeout
public HttpClientOptions setResponseTimeout(Duration responseTimeout)
设置等待服务器答复时使用的响应超时持续时间。
响应超时在请求写入完成后开始,并在收到服务器响应时触发第一个响应读取后完成。
如果 responseTimeout
为 null, PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会对响应应用任何超时。 应用超时时,最大为 1 毫秒,将使用 的值 responseTimeout
。
默认响应超时为 60 秒。
Parameters:
Returns:
setWriteTimeout
public HttpClientOptions setWriteTimeout(Duration writeTimeout)
设置要发送的请求的写入超时。
写入超时不适用于整个请求,而是应用于通过线路发送的每个发射。 例如,发出 10
8KB
缓冲区的请求正文将触发 10
写入操作,将定期检查出站缓冲区以确定它是否仍在排出。
如果 writeTimeout
为 null, PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会应用写入超时。 应用超时时,最大为 1 毫秒,将使用 的值 writeTimeout
。
默认写入超时为 60 秒。
Parameters:
Returns: