HttpClientOptions クラス

public final class HttpClientOptions
extends ClientOptions

HttpClient一般的な構成オプション。

HttpClient 実装では、このクラスのすべての構成オプションがサポートされない場合があります。

コンストラクターの概要

コンストラクター 説明
HttpClientOptions()

HttpClientOptions の新しいインスタンスを作成します。

メソッドの概要

修飾子と型 メソッドと説明
Configuration getConfiguration()

が使用する構成ストアを HttpClient 取得します。

Duration getConnectTimeout()

送信する要求の接続タイムアウトを取得します。

Duration getConnectionIdleTimeout()

アイドル状態の接続が閉じられるまでの時間を取得します。

Class<> getHttpClientProvider()

のインスタンスを HttpClientProvider 構築するために使用する実装の HttpClient型を取得します。

Integer getMaximumConnectionPoolSize()

基になる HTTP クライアントによって使用される最大接続プール サイズを取得します。

ProxyOptions getProxyOptions()

ProxyOptions 使用する を HttpClient 取得します。

Duration getReadTimeout()

サーバー応答の読み取り時に使用される読み取りタイムアウト時間を取得します。

Duration getResponseTimeout()

サーバーの応答を待機するときに使用される応答タイムアウト時間を取得します。

Duration getWriteTimeout()

送信する要求の書き込みタイムアウトを取得します。

HttpClientOptions readTimeout(Duration readTimeout)

サーバー応答の読み取り時に使用される読み取りタイムアウト時間を設定します。

HttpClientOptions responseTimeout(Duration responseTimeout)

サーバーの応答を待機するときに使用される応答タイムアウト時間を設定します。

HttpClientOptions setApplicationId(String applicationId)

アプリケーション ID を設定します。

HttpClientOptions setConfiguration(Configuration configuration)

で使用する構成ストアを HttpClient 設定します。

HttpClientOptions setConnectTimeout(Duration connectTimeout)

送信する要求の接続タイムアウトを設定します。

HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

アイドル状態の接続前の時間を設定します。

HttpClientOptions setHeaders(Iterable<Header> headers)

Header を設定します。

HttpClientOptions setHttpClientProvider(Class<? extends HttpClientProvider> httpClientProvider)

のインスタンスを HttpClientProvider 構築するために使用する実装の HttpClient型を設定します。

HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

基になる HTTP クライアントで使用される最大接続プール サイズを設定します。

HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

で使用する をProxyOptionsHttpClient設定します。

HttpClientOptions setReadTimeout(Duration readTimeout)

サーバー応答の読み取り時に使用される読み取りタイムアウト時間を設定します。

HttpClientOptions setResponseTimeout(Duration responseTimeout)

サーバーの応答を待機するときに使用される応答タイムアウト時間を設定します。

HttpClientOptions setWriteTimeout(Duration writeTimeout)

送信する要求の書き込みタイムアウトを設定します。

メソッドの継承元: ClientOptions

メソッドの継承元: java.lang.Object

コンストラクターの詳細

HttpClientOptions

public HttpClientOptions()

HttpClientOptions の新しいインスタンスを作成します。

メソッドの詳細

getConfiguration

public Configuration getConfiguration()

が使用する構成ストアを HttpClient 取得します。

Returns:

使用する構成ストア。

getConnectTimeout

public Duration getConnectTimeout()

送信する要求の接続タイムアウトを取得します。

既定の接続タイムアウトは 10 秒です。

Returns:

送信する要求の接続タイムアウト。

getConnectionIdleTimeout

public Duration getConnectionIdleTimeout()

アイドル状態の接続が閉じられるまでの時間を取得します。

既定の接続アイドル タイムアウトは 60 秒です。

Returns:

接続のアイドル タイムアウト期間。

getHttpClientProvider

public Class getHttpClientProvider()

のインスタンスを HttpClientProvider 構築するために使用する実装の HttpClient型を取得します。

Returns:

HttpClientProvider インスタンス HttpClientを作成するために使用される実装。

getMaximumConnectionPoolSize

public Integer getMaximumConnectionPoolSize()

基になる HTTP クライアントによって使用される最大接続プール サイズを取得します。

接続プールの最大サイズを変更すると、アプリケーションのパフォーマンスに影響を及ぼす可能性があります。 最大接続プールを増やすと、アプリケーションで使用できる接続が増えますが、ネットワーク リソースの競合が増える可能性があります。 アプリケーションに適した構成を見つけるために、さまざまな最大接続プール サイズに対してパフォーマンス分析を実行することをお勧めします。

この最大接続プール サイズはグローバル構成ではなく、この HttpClientOptionsを使用して作成された各 HttpClient インスタンス レベルの構成です。

既定の最大接続プール サイズは、基になる HTTP クライアントによって決まります。 最大接続プール サイズを null に設定すると、基になる HTTP クライアントによって決定される既定値を使用するように構成がリセットされます。

Returns:

接続プールの最大サイズ。

getProxyOptions

public ProxyOptions getProxyOptions()

ProxyOptions 使用する を HttpClient 取得します。

Returns:

使用するプロキシ オプション。

getReadTimeout

public Duration getReadTimeout()

サーバー応答の読み取り時に使用される読み取りタイムアウト時間を取得します。

既定の読み取りタイムアウトは 60 秒です。

Returns:

読み取りタイムアウト期間。

getResponseTimeout

public Duration getResponseTimeout()

サーバーの応答を待機するときに使用される応答タイムアウト時間を取得します。

既定の応答タイムアウトは 60 秒です。

Returns:

応答タイムアウト期間。

getWriteTimeout

public Duration getWriteTimeout()

送信する要求の書き込みタイムアウトを取得します。

既定の書き込みタイムアウトは 60 秒です。

Returns:

送信する要求の書き込みタイムアウト。

readTimeout

public HttpClientOptions readTimeout(Duration readTimeout)

サーバー応答の読み取り時に使用される読み取りタイムアウト時間を設定します。

読み取りタイムアウトは、サーバー応答の受信後に最初の応答の読み取りがトリガーされると開始されます。 このタイムアウトは定期的にトリガーされますが、タイムアウトがトリガーされて完了するまでに別の読み取り操作が完了した場合、その操作は発生しません。

が null の場合readTimeout、または 60 秒のタイムアウトが使用されます。0 以下の場合、Duration応答読み取りにはタイムアウト期間は適用PROPERTY_AZURE_REQUEST_READ_TIMEOUTされません。 タイムアウトを適用する場合、最大 1 ミリ秒と の readTimeout 値が使用されます。

既定の読み取りタイムアウトは 60 秒です。

Parameters:

readTimeout - 読み取りタイムアウト期間。

Returns:

更新された HttpClientOptions オブジェクト。

responseTimeout

public HttpClientOptions responseTimeout(Duration responseTimeout)

サーバーの応答を待機するときに使用される応答タイムアウト時間を設定します。

応答タイムアウトは、要求の書き込みが完了すると開始され、サーバー応答の受信時に最初の応答の読み取りがトリガーされると完了します。

が null PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT の場合responseTimeout、または 60 秒のタイムアウトがDuration使用されます。0 以下の場合は、応答にタイムアウトは適用されません。 タイムアウトを適用する場合は、最大 1 ミリ秒で、 の responseTimeout 値が使用されます。

既定の応答タイムアウトは 60 秒です。

Parameters:

responseTimeout - 応答タイムアウト期間。

Returns:

更新された HttpClientOptions オブジェクト。

setApplicationId

public HttpClientOptions setApplicationId(String applicationId)

アプリケーション ID を設定します。

applicationIdは、テレメトリ/監視の目的でを構成UserAgentPolicyするために使用されます。

詳細については、「 Azure Core: テレメトリ ポリシー 」を参照してください。

コード サンプル

アプリケーション ID 'myApplicationId' を使用して ClientOptions を作成する

ClientOptions clientOptions = new ClientOptions()
     .setApplicationId("myApplicationId");

Overrides:

HttpClientOptions.setApplicationId(String applicationId)

Parameters:

applicationId

setConfiguration

public HttpClientOptions setConfiguration(Configuration configuration)

で使用する構成ストアを HttpClient 設定します。

Parameters:

configuration - 使用する構成ストア。

Returns:

更新された HttpClientOptions オブジェクト。

setConnectTimeout

public HttpClientOptions setConnectTimeout(Duration connectTimeout)

送信する要求の接続タイムアウトを設定します。

接続タイムアウトは、要求がリモート ホストへの接続を試み、接続が解決されたときに終了すると開始されます。

が null PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT の場合connectTimeout、または 10 秒のタイムアウトが使用されます。0 以下の場合Duration、タイムアウトは適用されません。 タイムアウトを適用する場合は、最大 1 ミリ秒で、 の connectTimeout 値が使用されます。

既定の接続タイムアウトは 10 秒です。

Parameters:

connectTimeout - 接続のタイムアウト時間。

Returns:

更新された HttpClientOptions オブジェクト。

setConnectionIdleTimeout

public HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

アイドル状態の接続前の時間を設定します。

接続のアイドル タイムアウトは、接続が最後のネットワーク要求を完了すると開始されます。 接続が使用されるたびに、アイドル タイムアウトがリセットされます。

が null の場合 connectionIdleTimeout 、60 秒のタイムアウトが Duration 使用されます。0 以下の場合、タイムアウト期間は適用されません。 タイムアウトを適用する場合は、最大 1 ミリ秒で、 の connectionIdleTimeout 値が使用されます。

既定の接続アイドル タイムアウトは 60 秒です。

Parameters:

connectionIdleTimeout - 接続のアイドル タイムアウト期間。

Returns:

更新された HttpClientOptions オブジェクト。

setHeaders

public HttpClientOptions setHeaders(Iterable

headers)

Header を設定します。

渡されたヘッダーは、クライアントと共に送信される各要求に適用されます。

これにより、以前に設定されたすべてのヘッダーが上書きされます。

コード サンプル

ヘッダー 'myCustomHeader':'myStaticValue' を使用して ClientOptions を作成する

ClientOptions clientOptions = new ClientOptions()
     .setHeaders(Collections.singletonList(new Header("myCustomHeader", "myStaticValue")));

Overrides:

HttpClientOptions.setHeaders(Iterable<Header> headers)

Parameters:

headers

setHttpClientProvider

public HttpClientOptions setHttpClientProvider(Class httpClientProvider)

のインスタンスを HttpClientProvider 構築するために使用する実装の HttpClient型を設定します。 値が設定されていないか、空の文字列である場合、ServiceLoader によって最初HttpClientProviderに解決された が のインスタンスHttpClientの作成に使用されます。 値が設定され、ServiceLoaderIllegalStateException によって解決された値HttpClientProviderと一致しない場合、 のHttpClientインスタンスを作成しようとしたときに がスローされます。

Parameters:

httpClientProvider - の HttpClientProvider インスタンス HttpClientを作成するために使用される実装。

Returns:

更新された HttpClientOptions オブジェクト。

setMaximumConnectionPoolSize

public HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

基になる HTTP クライアントで使用される最大接続プール サイズを設定します。

接続プールの最大サイズを変更すると、アプリケーションのパフォーマンスに影響を及ぼす可能性があります。 最大接続プールを増やすと、アプリケーションで使用できる接続が増えますが、ネットワーク リソースの競合が増える可能性があります。 アプリケーションに適した構成を見つけるには、さまざまな最大接続プール サイズに対してパフォーマンス分析を実行することをお勧めします。

この最大接続プール サイズはグローバル構成ではなく、この HttpClientOptionsを使用して作成されたそれぞれのHttpClientインスタンス レベルの構成です。

既定の最大接続プール サイズは、基になる HTTP クライアントによって決まります。 接続プールの最大サイズを null に設定すると、基になる HTTP クライアントによって決定された既定値を使用するように構成がリセットされます。

Parameters:

maximumConnectionPoolSize - 接続プールの最大サイズ。

Returns:

更新された HttpClientOptions オブジェクト。

setProxyOptions

public HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

で使用する をProxyOptionsHttpClient設定します。

Parameters:

proxyOptions - 使用するプロキシ オプション。

Returns:

更新された HttpClientOptions オブジェクト。

setReadTimeout

public HttpClientOptions setReadTimeout(Duration readTimeout)

サーバー応答の読み取り時に使用される読み取りタイムアウト時間を設定します。

読み取りタイムアウトは、サーバー応答の受信後に最初の応答の読み取りがトリガーされると開始されます。 このタイムアウトは定期的にトリガーされますが、タイムアウトがトリガーされてから完了するまでに別の読み取り操作が完了した場合、その操作は発生しません。

が null の場合readTimeout、または 60 秒のタイムアウトが使用されます。0 以下の場合、Duration応答読み取りにはタイムアウト期間は適用PROPERTY_AZURE_REQUEST_READ_TIMEOUTされません。 タイムアウトを適用する場合は、最大 1 ミリ秒で、 の readTimeout 値が使用されます。

既定の読み取りタイムアウトは 60 秒です。

Parameters:

readTimeout - 読み取りタイムアウト時間。

Returns:

更新された HttpClientOptions オブジェクト。

setResponseTimeout

public HttpClientOptions setResponseTimeout(Duration responseTimeout)

サーバーの応答を待機するときに使用される応答タイムアウト時間を設定します。

応答タイムアウトは、要求の書き込みが完了すると開始され、サーバー応答の受信時に最初の応答の読み取りがトリガーされると完了します。

が null PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT の場合responseTimeout、または 60 秒のタイムアウトがDuration使用されます。0 以下の場合は、応答にタイムアウトは適用されません。 タイムアウトを適用する場合は、最大 1 ミリ秒で、 の responseTimeout 値が使用されます。

既定の応答タイムアウトは 60 秒です。

Parameters:

responseTimeout - 応答タイムアウト期間。

Returns:

更新された HttpClientOptions オブジェクト。

setWriteTimeout

public HttpClientOptions setWriteTimeout(Duration writeTimeout)

送信する要求の書き込みタイムアウトを設定します。

書き込みタイムアウトは、要求全体ではなく、ネットワーク経由で送信される各放出に適用されます。 たとえば、バッファーを出力 108KB する要求本文は書き込み操作をトリガー 10 します。送信バッファーは定期的にチェックされ、まだドレイン中かどうかを判断します。

が null PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT の場合writeTimeout、または 60 秒のタイムアウトがDuration使用されます。ゼロ以下の場合、書き込みタイムアウトは適用されません。 タイムアウトを適用する場合は、最大 1 ミリ秒で、 の writeTimeout 値が使用されます。

既定の書き込みタイムアウトは 60 秒です。

Parameters:

writeTimeout - 書き込み操作のタイムアウト期間。

Returns:

更新された HttpClientOptions オブジェクト。

適用対象