Partager via


HttpClientOptions Classe

public final class HttpClientOptions
extends ClientOptions

Options de configuration générales pour HttpClient.

HttpClient les implémentations peuvent ne pas prendre en charge toutes les options de configuration de cette classe.

Récapitulatif du constructeur

Constructeur Description
HttpClientOptions()

Crée une instance de HttpClientOptions.

Résumé de la méthode

Modificateur et type Méthode et description
Configuration getConfiguration()

Obtient le magasin de configuration que le HttpClient utilisera.

Duration getConnectTimeout()

Obtient le délai d’expiration de connexion pour l’envoi d’une demande.

Duration getConnectionIdleTimeout()

Obtient la durée de fermeture d’une connexion inactive.

Class<> getHttpClientProvider()

Obtient le type de l’implémentation HttpClientProvider qui doit être utilisée pour construire un instance de HttpClient.

Integer getMaximumConnectionPoolSize()

Obtient la taille maximale du pool de connexions utilisée par le client HTTP sous-jacent.

ProxyOptions getProxyOptions()

Obtient le ProxyOptions que le HttpClient utilisera.

Duration getReadTimeout()

Obtient la durée du délai d’expiration de lecture utilisée lors de la lecture de la réponse du serveur.

Duration getResponseTimeout()

Obtient la durée du délai d’expiration de réponse utilisée lors de l’attente d’une réponse d’un serveur.

Duration getWriteTimeout()

Obtient le délai d’attente d’écriture pour l’envoi d’une demande.

HttpClientOptions readTimeout(Duration readTimeout)

Définit la durée du délai d’attente de lecture utilisée lors de la lecture de la réponse du serveur.

HttpClientOptions responseTimeout(Duration responseTimeout)

Définit la durée du délai d’expiration de réponse utilisée lors de l’attente d’une réponse d’un serveur.

HttpClientOptions setApplicationId(String applicationId)

Définit l’ID d’application.

HttpClientOptions setConfiguration(Configuration configuration)

Définit le magasin de configuration que le HttpClient va utiliser.

HttpClientOptions setConnectTimeout(Duration connectTimeout)

Définit le délai d’expiration de la connexion pour une demande à envoyer.

HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

Définit la durée avant une connexion inactive.

HttpClientOptions setHeaders(Iterable<Header> headers)

Définit l'objet Header.

HttpClientOptions setHttpClientProvider(Class<? extends HttpClientProvider> httpClientProvider)

Définit le type de l’implémentation HttpClientProvider qui doit être utilisé pour construire un instance de HttpClient.

HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

Définit la taille maximale du pool de connexions utilisée par le client HTTP sous-jacent.

HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

Définit le ProxyOptions que le HttpClient va utiliser.

HttpClientOptions setReadTimeout(Duration readTimeout)

Définit la durée du délai d’attente de lecture utilisée lors de la lecture de la réponse du serveur.

HttpClientOptions setResponseTimeout(Duration responseTimeout)

Définit la durée du délai d’expiration de réponse utilisée lors de l’attente d’une réponse d’un serveur.

HttpClientOptions setWriteTimeout(Duration writeTimeout)

Définit le délai d’attente d’écriture d’une demande à envoyer.

Méthodes héritées de ClientOptions

Méthodes héritées de java.lang.Object

Détails du constructeur

HttpClientOptions

public HttpClientOptions()

Crée une instance de HttpClientOptions.

Détails de la méthode

getConfiguration

public Configuration getConfiguration()

Obtient le magasin de configuration que le HttpClient utilisera.

Returns:

Magasin de configuration à utiliser.

getConnectTimeout

public Duration getConnectTimeout()

Obtient le délai d’expiration de connexion pour l’envoi d’une demande.

Le délai d’expiration de connexion par défaut est de 10 secondes.

Returns:

Délai d’expiration de connexion d’une demande à envoyer.

getConnectionIdleTimeout

public Duration getConnectionIdleTimeout()

Obtient la durée de fermeture d’une connexion inactive.

Le délai d’inactivité de la connexion par défaut est de 60 secondes.

Returns:

Durée du délai d’inactivité de la connexion.

getHttpClientProvider

public Class getHttpClientProvider()

Obtient le type de l’implémentation HttpClientProvider qui doit être utilisée pour construire un instance de HttpClient.

Returns:

Implémentation HttpClientProvider utilisée pour créer une instance de HttpClient.

getMaximumConnectionPoolSize

public Integer getMaximumConnectionPoolSize()

Obtient la taille maximale du pool de connexions utilisée par le client HTTP sous-jacent.

La modification de la taille maximale du pool de connexions peut avoir des effets sur les performances d’une application. L’augmentation du pool de connexions maximal entraîne la disponibilité d’un plus grand nombre de connexions pour une application, mais peut entraîner une plus grande contention pour les ressources réseau. Il est recommandé d’effectuer une analyse des performances sur différentes tailles maximales de pool de connexions pour trouver la configuration appropriée pour une application.

Cette taille maximale de pool de connexions n’est pas une configuration globale, mais une configuration de niveau instance pour chaque HttpClient créé à l’aide de ce HttpClientOptions.

La taille maximale du pool de connexions par défaut est déterminée par le client HTTP sous-jacent. La définition de la taille maximale du pool de connexions sur Null réinitialise la configuration pour utiliser la valeur par défaut déterminée par le client HTTP sous-jacent.

Returns:

Taille maximale du pool de connexions.

getProxyOptions

public ProxyOptions getProxyOptions()

Obtient le ProxyOptions que le HttpClient utilisera.

Returns:

Options de proxy à utiliser.

getReadTimeout

public Duration getReadTimeout()

Obtient la durée du délai d’expiration de lecture utilisée lors de la lecture de la réponse du serveur.

Le délai d’expiration de lecture par défaut est de 60 secondes.

Returns:

Durée du délai d’expiration de lecture.

getResponseTimeout

public Duration getResponseTimeout()

Obtient la durée du délai d’expiration de réponse utilisée lors de l’attente d’une réponse d’un serveur.

Le délai de réponse par défaut est de 60 secondes.

Returns:

Durée du délai d’expiration de réponse.

getWriteTimeout

public Duration getWriteTimeout()

Obtient le délai d’attente d’écriture pour l’envoi d’une demande.

Le délai d’attente d’écriture par défaut est de 60 secondes.

Returns:

Délai d’attente d’écriture d’une demande à envoyer.

readTimeout

public HttpClientOptions readTimeout(Duration readTimeout)

Définit la durée de délai d’expiration de lecture utilisée lors de la lecture de la réponse du serveur.

Le délai d’expiration de lecture commence une fois que la première lecture de la réponse est déclenchée après la réception de la réponse du serveur. Ce délai d’expiration se déclenche régulièrement, mais ne déclenche pas son opération si une autre opération de lecture s’est terminée entre le moment où le délai d’expiration est déclenché et terminé.

Si readTimeout a la valeur null PROPERTY_AZURE_REQUEST_READ_TIMEOUT ou si un délai d’expiration de 60 secondes est utilisé, s’il est Duration inférieur ou égal à zéro, aucun délai d’expiration n’est appliqué à la lecture de la réponse. Lors de l’application du délai d’expiration, le plus grand d’une milliseconde et la valeur de readTimeout seront utilisés.

Le délai d’expiration de lecture par défaut est de 60 secondes.

Parameters:

readTimeout - Durée du délai d’expiration de lecture.

Returns:

Objet HttpClientOptions mis à jour.

responseTimeout

public HttpClientOptions responseTimeout(Duration responseTimeout)

Définit la durée du délai d’expiration de réponse utilisée lors de l’attente d’une réponse d’un serveur.

Le délai d’expiration de la réponse commence une fois l’écriture de la demande terminée et se termine une fois que la première lecture de la réponse est déclenchée lorsque la réponse du serveur est reçue.

Si responseTimeout est null PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT ou si un délai d’attente de 60 secondes est utilisé, s’il est inférieur ou égal à zéro, aucun délai d’attente n’est Duration appliqué à la réponse. Lors de l’application du délai d’expiration, le plus grand d’une milliseconde et la valeur de responseTimeout seront utilisés.

Le délai de réponse par défaut est de 60 secondes.

Parameters:

responseTimeout - Durée du délai d’expiration de la réponse.

Returns:

Objet HttpClientOptions mis à jour.

setApplicationId

public HttpClientOptions setApplicationId(String applicationId)

Définit l’ID d’application.

applicationId est utilisé pour configurer UserAgentPolicy à des fins de télémétrie/surveillance.

Pour plus d’informations , consultez Azure Core : Stratégie de télémétrie .

Exemples de code

Créer clientOptions avec l’ID d’application « myApplicationId »

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

Overrides:

HttpClientOptions.setApplicationId(String applicationId)

Parameters:

applicationId

setConfiguration

public HttpClientOptions setConfiguration(Configuration configuration)

Définit le magasin de configuration que le HttpClient va utiliser.

Parameters:

configuration - Magasin de configuration à utiliser.

Returns:

Objet HttpClientOptions mis à jour.

setConnectTimeout

public HttpClientOptions setConnectTimeout(Duration connectTimeout)

Définit le délai d’expiration de la connexion pour une demande à envoyer.

Le délai d’expiration de la connexion commence une fois que la demande tente de se connecter à l’hôte distant et se termine lorsque la connexion est résolue.

Si connectTimeout est null PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT ou si un délai d’attente de 10 secondes est utilisé. S’il est inférieur ou égal à zéro, aucun délai d’attente n’est Duration appliqué. Lors de l’application du délai d’expiration, le plus grand d’une milliseconde et la valeur de connectTimeout seront utilisés.

Le délai de connexion par défaut est de 10 secondes.

Parameters:

connectTimeout - Durée du délai d’attente de connexion.

Returns:

Objet HttpClientOptions mis à jour.

setConnectionIdleTimeout

public HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

Définit la durée avant une connexion inactive.

Le délai d’inactivité de la connexion commence une fois que la connexion a terminé sa dernière demande réseau. Chaque fois que la connexion est utilisée, le délai d’inactivité est réinitialisé.

Si connectionIdleTimeout est null, un délai d’expiration de 60 secondes sera utilisé. S’il est inférieur ou égal à zéro, aucun délai d’expiration n’est Duration appliqué. Lors de l’application du délai d’expiration, le plus grand d’une milliseconde et la valeur de connectionIdleTimeout seront utilisés.

Le délai d’inactivité de connexion par défaut est de 60 secondes.

Parameters:

connectionIdleTimeout - Durée du délai d’inactivité de la connexion.

Returns:

Objet HttpClientOptions mis à jour.

setHeaders

public HttpClientOptions setHeaders(Iterable

headers)

Définit l'objet Header.

Les en-têtes passés sont appliqués à chaque requête envoyée avec le client.

Cela remplace tous les en-têtes précédemment définis.

Exemples de code

Créer clientOptions avec l’en-tête « myCustomHeader »:'myStaticValue'

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)

Définit le type de l’implémentation HttpClientProvider qui doit être utilisé pour construire un instance de HttpClient. Si la valeur n’est pas définie ou s’il s’agit d’une chaîne vide, le premier HttpClientProvider résolu par ServiceLoader sera utilisé pour créer un instance de HttpClient. Si la valeur est définie et ne correspond à aucune HttpClientProvider des valeurs résolues par ServiceLoader, un IllegalStateException sera levée lors de la tentative de création d’un instance de HttpClient.

Parameters:

httpClientProvider - Implémentation HttpClientProvider utilisée pour créer un instance de HttpClient.

Returns:

Objet HttpClientOptions mis à jour.

setMaximumConnectionPoolSize

public HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

Définit la taille maximale du pool de connexions utilisée par le client HTTP sous-jacent.

La modification de la taille maximale du pool de connexions peut avoir des effets sur les performances d’une application. L’augmentation du pool de connexions maximal entraîne la disponibilité d’un plus grand nombre de connexions pour une application, mais peut entraîner une plus grande contention pour les ressources réseau. Il est recommandé d’effectuer une analyse des performances sur différentes tailles maximales de pool de connexions pour trouver la configuration appropriée pour une application.

Cette taille maximale du pool de connexions n’est pas une configuration globale, mais une configuration de niveau instance pour chaque HttpClient création à l’aide de .HttpClientOptions

La taille maximale du pool de connexions par défaut est déterminée par le client HTTP sous-jacent. La définition de la taille maximale du pool de connexions sur Null réinitialise la configuration pour utiliser la valeur par défaut déterminée par le client HTTP sous-jacent.

Parameters:

maximumConnectionPoolSize - Taille maximale du pool de connexions.

Returns:

Objet HttpClientOptions mis à jour.

setProxyOptions

public HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

Définit le ProxyOptions que le HttpClient va utiliser.

Parameters:

proxyOptions - Options de proxy à utiliser.

Returns:

Objet HttpClientOptions mis à jour.

setReadTimeout

public HttpClientOptions setReadTimeout(Duration readTimeout)

Définit la durée du délai d’attente de lecture utilisée lors de la lecture de la réponse du serveur.

Le délai d’attente de lecture commence une fois que la première lecture de la réponse est déclenchée après la réception de la réponse du serveur. Ce délai d’expiration se déclenche régulièrement, mais ne déclenche pas son opération si une autre opération de lecture s’est terminée entre le moment où le délai d’expiration est déclenché et terminé.

Si readTimeout est null PROPERTY_AZURE_REQUEST_READ_TIMEOUT ou si un délai d’expiration de 60 secondes est utilisé, s’il est inférieur ou égal à zéro, aucun délai d’expiration n’est Duration appliqué à la lecture de la réponse. Lors de l’application du délai d’expiration, le plus grand d’une milliseconde et la valeur de readTimeout seront utilisés.

Le délai de lecture par défaut est de 60 secondes.

Parameters:

readTimeout - Durée du délai d’expiration de lecture.

Returns:

Objet HttpClientOptions mis à jour.

setResponseTimeout

public HttpClientOptions setResponseTimeout(Duration responseTimeout)

Définit la durée du délai d’expiration de réponse utilisée lors de l’attente d’une réponse d’un serveur.

Le délai d’expiration de la réponse commence une fois l’écriture de la demande terminée et se termine une fois que la première lecture de la réponse est déclenchée lorsque la réponse du serveur est reçue.

Si responseTimeout est null PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT ou si un délai d’attente de 60 secondes est utilisé, s’il est inférieur ou égal à zéro, aucun délai d’attente n’est Duration appliqué à la réponse. Lors de l’application du délai d’expiration, le plus grand d’une milliseconde et la valeur de responseTimeout seront utilisés.

Le délai de réponse par défaut est de 60 secondes.

Parameters:

responseTimeout - Durée du délai d’expiration de la réponse.

Returns:

Objet HttpClientOptions mis à jour.

setWriteTimeout

public HttpClientOptions setWriteTimeout(Duration writeTimeout)

Définit le délai d’attente d’écriture d’une demande à envoyer.

Le délai d’attente d’écriture ne s’applique pas à l’ensemble de la demande, mais à chaque émission envoyée sur le câble. Par exemple, un corps de requête qui émet des mémoires tampons 108KB déclenche 10 des opérations d’écriture. La mémoire tampon sortante est régulièrement vérifiée pour déterminer si elle est toujours en cours d’épuisement.

Si writeTimeout est null PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT ou si un délai d’attente de 60 secondes est utilisé. S’il est inférieur ou égal à zéro, aucun délai d’attente d’écriture n’est Duration appliqué. Lors de l’application du délai d’expiration, le plus grand d’une milliseconde et la valeur de writeTimeout seront utilisés.

Le délai d’attente d’écriture par défaut est de 60 secondes.

Parameters:

writeTimeout - Durée du délai d’expiration de l’opération d’écriture.

Returns:

Objet HttpClientOptions mis à jour.

S’applique à