Freigeben über


HttpClientOptions Klasse

public final class HttpClientOptions
extends ClientOptions

Allgemeine Konfigurationsoptionen für HttpClient.

HttpClient Implementierungen unterstützen möglicherweise nicht alle Konfigurationsoptionen in dieser Klasse.

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
HttpClientOptions()

Erstellt eine neue Instanz von HttpClientOptions.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
Configuration getConfiguration()

Ruft den Konfigurationsspeicher ab, den der HttpClient verwendet.

Duration getConnectTimeout()

Ruft das Verbindungstimeout für eine zu sendende Anforderung ab.

Duration getConnectionIdleTimeout()

Ruft die Dauer ab, bis eine Verbindung im Leerlauf geschlossen wird.

Class<> getHttpClientProvider()

Ruft den Typ der Implementierung ab, die HttpClientProvider zum Erstellen einer instance von HttpClientverwendet werden soll.

Integer getMaximumConnectionPoolSize()

Ruft die maximale Größe des Verbindungspools ab, die vom zugrunde liegenden HTTP-Client verwendet wird.

ProxyOptions getProxyOptions()

Ruft die ProxyOptions ab, die von HttpClient verwendet wird.

Duration getReadTimeout()

Ruft die Lesetimeoutdauer ab, die beim Lesen der Serverantwort verwendet wird.

Duration getResponseTimeout()

Ruft die Dauer des Antworttimeouts ab, die beim Warten auf die Antwort eines Servers verwendet wird.

Duration getWriteTimeout()

Ruft das Schreibtimeout für eine zu sendende Anforderung ab.

HttpClientOptions readTimeout(Duration readTimeout)

Legt die Dauer des Lesetimeouts fest, die beim Lesen der Serverantwort verwendet wird.

HttpClientOptions responseTimeout(Duration responseTimeout)

Legt die Dauer des Antworttimeouts fest, die beim Warten auf die Antwort eines Servers verwendet wird.

HttpClientOptions setApplicationId(String applicationId)

Legt die Anwendungs-ID fest.

HttpClientOptions setConfiguration(Configuration configuration)

Legt den Konfigurationsspeicher fest, der verwendet HttpClient wird.

HttpClientOptions setConnectTimeout(Duration connectTimeout)

Legt das Verbindungstimeout für eine Anforderung fest, die gesendet werden soll.

HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

Legt die Dauer vor einer Verbindung im Leerlauf fest.

HttpClientOptions setHeaders(Iterable<Header> headers)

Legt Header fest.

HttpClientOptions setHttpClientProvider(Class<? extends HttpClientProvider> httpClientProvider)

Legt den Typ der Implementierung fest, die HttpClientProvider zum Erstellen einer instance von HttpClientverwendet werden soll.

HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

Legt die maximale Größe des Verbindungspools fest, die vom zugrunde liegenden HTTP-Client verwendet wird.

HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

Legt die ProxyOptions fest, die verwendet HttpClient wird.

HttpClientOptions setReadTimeout(Duration readTimeout)

Legt die Dauer des Lesetimeouts fest, die beim Lesen der Serverantwort verwendet wird.

HttpClientOptions setResponseTimeout(Duration responseTimeout)

Legt die Dauer des Antworttimeouts fest, die beim Warten auf die Antwort eines Servers verwendet wird.

HttpClientOptions setWriteTimeout(Duration writeTimeout)

Legt das Schreibtimeout für eine anforderung fest, die gesendet werden soll.

Geerbte Methoden von ClientOptions

Geerbte Methoden von java.lang.Object

Details zum Konstruktor

HttpClientOptions

public HttpClientOptions()

Erstellt eine neue Instanz von HttpClientOptions.

Details zur Methode

getConfiguration

public Configuration getConfiguration()

Ruft den Konfigurationsspeicher ab, den der HttpClient verwendet.

Returns:

Der zu verwendende Konfigurationsspeicher.

getConnectTimeout

public Duration getConnectTimeout()

Ruft das Verbindungstimeout für eine zu sendende Anforderung ab.

Das Standardmäßige Verbindungstimeout beträgt 10 Sekunden.

Returns:

Das Verbindungstimeout einer zu sendenden Anforderung.

getConnectionIdleTimeout

public Duration getConnectionIdleTimeout()

Ruft die Dauer ab, bis eine Verbindung im Leerlauf geschlossen wird.

Das Standardzeitlimit für den Leerlauf der Verbindung beträgt 60 Sekunden.

Returns:

Die Dauer des Leerlauftimeouts der Verbindung.

getHttpClientProvider

public Class getHttpClientProvider()

Ruft den Typ der Implementierung ab, die HttpClientProvider zum Erstellen einer instance von HttpClientverwendet werden soll.

Returns:

Die HttpClientProvider Implementierung, die zum Erstellen einer instance von HttpClientverwendet wird.

getMaximumConnectionPoolSize

public Integer getMaximumConnectionPoolSize()

Ruft die maximale Größe des Verbindungspools ab, die vom zugrunde liegenden HTTP-Client verwendet wird.

Das Ändern der maximalen Größe des Verbindungspools kann Auswirkungen auf die Leistung einer Anwendung haben. Das Erhöhen des maximalen Verbindungspools führt dazu, dass mehr Verbindungen für eine Anwendung verfügbar sind, aber möglicherweise zu mehr Konflikten mit Netzwerkressourcen führen. Es wird empfohlen, Leistungsanalysen für verschiedene maximale Verbindungspoolgrößen durchzuführen, um die richtige Konfiguration für eine Anwendung zu finden.

Bei dieser maximalen Größe des Verbindungspools handelt es sich nicht um eine globale Konfiguration, sondern um eine Konfiguration auf instance Ebene für jedeHttpClient, die mit diesem HttpClientOptionserstellt wird.

Die maximale Standardgröße des Verbindungspools wird vom zugrunde liegenden HTTP-Client bestimmt. Wenn Sie die maximale Größe des Verbindungspools auf NULL festlegen, wird die Konfiguration zurückgesetzt, um den vom zugrunde liegenden HTTP-Client festgelegten Standardwert zu verwenden.

Returns:

Die maximale Größe des Verbindungspools.

getProxyOptions

public ProxyOptions getProxyOptions()

Ruft die ProxyOptions ab, die von HttpClient verwendet wird.

Returns:

Die zu verwendenden Proxyoptionen.

getReadTimeout

public Duration getReadTimeout()

Ruft die Lesetimeoutdauer ab, die beim Lesen der Serverantwort verwendet wird.

Das Standardmäßige Lesetimeout beträgt 60 Sekunden.

Returns:

Die Dauer des Lesetimeouts.

getResponseTimeout

public Duration getResponseTimeout()

Ruft die Dauer des Antworttimeouts ab, die beim Warten auf die Antwort eines Servers verwendet wird.

Das Standardmäßige Antworttimeout beträgt 60 Sekunden.

Returns:

Die Dauer des Antworttimeouts.

getWriteTimeout

public Duration getWriteTimeout()

Ruft das Schreibtimeout für eine zu sendende Anforderung ab.

Das Standardmäßige Schreibtimeout beträgt 60 Sekunden.

Returns:

Das Schreibtimeout einer zu sendenden Anforderung.

readTimeout

public HttpClientOptions readTimeout(Duration readTimeout)

Legt die Dauer des Lesetimeouts fest, die beim Lesen der Serverantwort verwendet wird.

Das Lesetimeout beginnt, sobald der erste Antwortlesevorgang ausgelöst wird, nachdem die Serverantwort empfangen wurde. Dieses Timeout wird regelmäßig ausgelöst, wird aber nicht ausgelöst, wenn ein anderer Lesevorgang zwischen dem Auslösen und Abschließen des Timeouts abgeschlossen wurde.

Wenn readTimeout null PROPERTY_AZURE_REQUEST_READ_TIMEOUT ist oder ein Timeout von 60 Sekunden verwendet wird, wird kein Timeout auf das Lesen der Antwort angewendet, wenn es kleiner Duration als oder gleich 0 ist. Beim Anwenden des Timeouts wird der größte Von einer Millisekunde und der Wert von readTimeout verwendet.

Das Standardmäßige Lesetimeout beträgt 60 Sekunden.

Parameters:

readTimeout - Lesetimeoutdauer.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

responseTimeout

public HttpClientOptions responseTimeout(Duration responseTimeout)

Legt die Dauer des Antworttimeouts fest, die beim Warten auf die Antwort eines Servers verwendet wird.

Das Antworttimeout beginnt nach Abschluss des Anforderungsschreibvorgangs und endet, sobald der erste Antwortlesevorgang ausgelöst wird, wenn die Serverantwort empfangen wird.

Wenn responseTimeout null PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT ist oder ein Timeout von 60 Sekunden verwendet wird, wird kein Timeout auf die Antwort angewendet, wenn es kleiner Duration als oder gleich 0 ist. Beim Anwenden des Timeouts wird der größte Von einer Millisekunde und der Wert von responseTimeout verwendet.

Das Standardmäßige Antworttimeout beträgt 60 Sekunden.

Parameters:

responseTimeout - Dauer des Antworttimeouts.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setApplicationId

public HttpClientOptions setApplicationId(String applicationId)

Legt die Anwendungs-ID fest.

Dient applicationId zum Konfigurieren UserAgentPolicy für Telemetrie-/Überwachungszwecke.

Weitere Informationen finden Sie unter Azure Core: Telemetrierichtlinie .

Codebeispiele

Erstellen von ClientOptions mit der Anwendungs-ID "myApplicationId"

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

Overrides:

HttpClientOptions.setApplicationId(String applicationId)

Parameters:

applicationId

setConfiguration

public HttpClientOptions setConfiguration(Configuration configuration)

Legt den Konfigurationsspeicher fest, der verwendet HttpClient wird.

Parameters:

configuration - Der zu verwendende Konfigurationsspeicher.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setConnectTimeout

public HttpClientOptions setConnectTimeout(Duration connectTimeout)

Legt das Verbindungstimeout für eine Anforderung fest, die gesendet werden soll.

Das Verbindungstimeout beginnt, sobald die Anforderung versucht, eine Verbindung mit dem Remotehost herzustellen, und wird beendet, wenn die Verbindung aufgelöst wurde.

Wenn connectTimeout null PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT ist oder ein Timeout von 10 Sekunden verwendet wird, wird kein Timeout angewendet, wenn es kleiner als oder gleich 0 ist Duration . Beim Anwenden des Timeouts wird der größte Von einer Millisekunde und der Wert von connectTimeout verwendet.

Das Standardmäßige Verbindungstimeout beträgt 10 Sekunden.

Parameters:

connectTimeout - Dauer des Verbindungstimeouts.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setConnectionIdleTimeout

public HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

Legt die Dauer vor einer Verbindung im Leerlauf fest.

Das Leerlauftimeout der Verbindung beginnt, nachdem die Verbindung ihre letzte Netzwerkanforderung abgeschlossen hat. Bei jeder Verwendung der Verbindung wird das Leerlauftimeout zurückgesetzt.

Wenn connectionIdleTimeout null ist, wird ein Timeout von 60 Sekunden verwendet, wenn es kleiner Duration als oder gleich Null ist, wird kein Timeoutzeitraum angewendet. Beim Anwenden des Timeouts wird der größte Von einer Millisekunde und der Wert von connectionIdleTimeout verwendet.

Das Standardzeitlimit für den Leerlauf der Verbindung beträgt 60 Sekunden.

Parameters:

connectionIdleTimeout - Die Dauer des Leerlauftimeouts der Verbindung.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setHeaders

public HttpClientOptions setHeaders(Iterable

headers)

Legt Header fest.

Die übergebenen Header werden auf jede Anforderung angewendet, die mit dem Client gesendet wird.

Dadurch werden alle zuvor festgelegten Header überschrieben.

Codebeispiele

Erstellen von ClientOptions mit dem Header "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)

Legt den Typ der Implementierung fest, die HttpClientProvider zum Erstellen einer instance von HttpClientverwendet werden soll. Wenn der Wert nicht festgelegt ist oder eine leere Zeichenfolge ist, wird die erste HttpClientProvider Auflösung von ServiceLoader verwendet, um eine instance von HttpClientzu erstellen. Wenn der Wert festgelegt ist und keiner von ServiceLoaderIllegalStateException aufgelösten Lösung entsprichtHttpClientProvider, wird beim Versuch, eine instance von HttpClientzu erstellen, ausgelöst.

Parameters:

httpClientProvider - Die HttpClientProvider Implementierung, die zum Erstellen einer instance von HttpClientverwendet wird.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setMaximumConnectionPoolSize

public HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

Legt die maximale Größe des Verbindungspools fest, die vom zugrunde liegenden HTTP-Client verwendet wird.

Das Ändern der maximalen Größe des Verbindungspools kann Auswirkungen auf die Leistung einer Anwendung haben. Das Erhöhen des maximalen Verbindungspools führt dazu, dass mehr Verbindungen für eine Anwendung verfügbar sind, aber möglicherweise zu mehr Konflikten mit Netzwerkressourcen führen. Es wird empfohlen, Leistungsanalysen für verschiedene maximale Verbindungspoolgrößen durchzuführen, um die richtige Konfiguration für eine Anwendung zu finden.

Bei dieser maximalen Größe des Verbindungspools handelt es sich nicht um eine globale Konfiguration, sondern um eine Konfiguration auf instance Ebene für jedeHttpClient, die mit diesem HttpClientOptionserstellt wird.

Die maximale Standardgröße des Verbindungspools wird vom zugrunde liegenden HTTP-Client bestimmt. Wenn Sie die maximale Größe des Verbindungspools auf NULL festlegen, wird die Konfiguration zurückgesetzt, um den vom zugrunde liegenden HTTP-Client festgelegten Standardwert zu verwenden.

Parameters:

maximumConnectionPoolSize - Die maximale Größe des Verbindungspools.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setProxyOptions

public HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

Legt die ProxyOptions fest, die verwendet HttpClient wird.

Parameters:

proxyOptions - Die zu verwendenden Proxyoptionen.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setReadTimeout

public HttpClientOptions setReadTimeout(Duration readTimeout)

Legt die Dauer des Lesetimeouts fest, die beim Lesen der Serverantwort verwendet wird.

Das Lesetimeout beginnt, sobald der erste Antwortlesevorgang ausgelöst wird, nachdem die Serverantwort empfangen wurde. Dieses Timeout wird regelmäßig ausgelöst, wird aber nicht ausgelöst, wenn ein anderer Lesevorgang zwischen dem Auslösen und Abschließen des Timeouts abgeschlossen wurde.

Wenn readTimeout null PROPERTY_AZURE_REQUEST_READ_TIMEOUT ist oder ein Timeout von 60 Sekunden verwendet wird, wird kein Timeout auf das Lesen der Antwort angewendet, wenn es kleiner Duration als oder gleich 0 ist. Beim Anwenden des Timeouts wird der größte Von einer Millisekunde und der Wert von readTimeout verwendet.

Das Standardmäßige Lesetimeout beträgt 60 Sekunden.

Parameters:

readTimeout - Lesetimeoutdauer.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setResponseTimeout

public HttpClientOptions setResponseTimeout(Duration responseTimeout)

Legt die Dauer des Antworttimeouts fest, die beim Warten auf die Antwort eines Servers verwendet wird.

Das Antworttimeout beginnt nach Abschluss des Anforderungsschreibvorgangs und endet, sobald der erste Antwortlesevorgang ausgelöst wird, wenn die Serverantwort empfangen wird.

Wenn responseTimeout null PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT ist oder ein Timeout von 60 Sekunden verwendet wird, wird kein Timeout auf die Antwort angewendet, wenn es kleiner Duration als oder gleich 0 ist. Beim Anwenden des Timeouts wird der größte Von einer Millisekunde und der Wert von responseTimeout verwendet.

Das Standardmäßige Antworttimeout beträgt 60 Sekunden.

Parameters:

responseTimeout - Dauer des Antworttimeouts.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

setWriteTimeout

public HttpClientOptions setWriteTimeout(Duration writeTimeout)

Legt das Schreibtimeout für eine anforderung fest, die gesendet werden soll.

Das Schreibtimeout gilt nicht für die gesamte Anforderung, sondern für jede Emission, die über das Kabel gesendet wird. Beispielsweise löst ein Anforderungstext 108KB , der Puffer ausgibt, Schreibvorgänge aus 10 . Der ausgehende Puffer wird in regelmäßigen Abständen überprüft, um festzustellen, ob er weiterhin entladen wird.

Wenn writeTimeout null PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT ist oder ein Timeout von 60 Sekunden verwendet wird, wird kein Schreibtimeout angewendet, wenn es kleiner als oder gleich Null ist Duration . Beim Anwenden des Timeouts wird der größte Von einer Millisekunde und der Wert von writeTimeout verwendet.

Das Standardmäßige Schreibtimeout beträgt 60 Sekunden.

Parameters:

writeTimeout - Timeoutdauer des Schreibvorgangs.

Returns:

Das aktualisierte HttpClientOptions-Objekt.

Gilt für: