ConnectionPolicy Class

Definition

  • java.lang.Object
    • com.microsoft.azure.documentdb.ConnectionPolicy

Represents the Connection policy associated with a DocumentClient in the Azure Cosmos DB database service.

public final class ConnectionPolicy

Constructors

ConnectionPolicy()

Constructor.

Methods

GetDefault()

Gets the default connection policy.

getConnectionMode()

Gets the connection mode used in the client.

getDirectRequestTimeout()

Gets the direct mode request timeout (time to wait for response from network peer) in seconds This only applies to requests that talk directly to the backend. Use getRequestTimeout for requests that go through gateway.

getEnableEndpointDiscovery()

Gets the flag to enable endpoint discovery for geo-replicated database accounts.

getHandleServiceUnavailableFromProxy()

Gets the flag to handle service unavailable errors returned without a service version header, by a proxy. When the value of this property is true, the SDK will handle it as a known error and perform retries. Default value is false as this is an opt in feature.

getIdleConnectionTimeout()

Gets the value of the timeout for an idle connection, the default is 60 seconds.

getMaxPoolSize()

Gets the value of the connection pool size the client is using.

getMaxRetryOnThrottledAttempts()

Gets the maximum number of retries in the case where the request fails due to a throttle error.

This property is deprecated. Please use connectionPolicy.getRetryOptions().getMaxRetryAttemptsOnThrottledRequests() for equivalent functionality.

getMediaReadMode()

Gets the attachment content (aka media) download mode.

getMediaRequestTimeout()

Gets or sets Time to wait for response from network peer for attachment content (aka media) operations.

getPreferredLocations()

Gets the preferred locations for geo-replicated database accounts

getProxy()

Gets a proxy which will be used when making a request. Default is null.

getRequestTimeout()

Gets the request timeout (time to wait for response from network peer) in seconds.

getRetryOptions()

Gets the retry policy options associated with the DocumentClient instance.

getUserAgentSuffix()

Gets the value of user-agent suffix.

isUsingMultipleWriteLocations()

Gets the flag to enable writes on any locations (regions) for geo-replicated database accounts in the Azure Cosmos DB service. When the value of this property is true, the SDK will direct write operations to available writable locations of geo-replicated database account. Writable locations are ordered by PreferredLocations property. Setting the property value to true has no effect until EnableMultipleWriteLocations in DatabaseAccount is also set to true. Default value is false indicating that writes are only directed to first region in PreferredLocations property.

setConnectionMode(ConnectionMode connectionMode)

Sets the connection mode used in the client.

setDirectRequestTimeout(int directRequestTimeout)

Sets the direct mode request timeout (time to wait for response from network peer) in seconds This only applies to requests that talk directly to the backend. Use setRequestTimeout for requests that go through gateway.

setEnableEndpointDiscovery(boolean enableEndpointDiscovery)

Sets the flag to enable endpoint discovery for geo-replicated database accounts.

When EnableEndpointDiscovery is true, the SDK will automatically discover the current write and read regions to ensure requests are sent to the correct region based on the capability of the region and the user's preference.

The default value for this property is true indicating endpoint discovery is enabled.

setHandleServiceUnavailableFromProxy(boolean handleServiceUnavailableFromProxy)

Sets the flag to handle service unavailable errors returned without a service version header, by a proxy. When the value of this property is true, the SDK will handle it as a known error and perform retries. Default value is false as this is an opt in feature.

setIdleConnectionTimeout(int idleConnectionTimeout)

sets the value of the timeout for an idle connection. After that time, the connection will be automatically closed.

setMaxPoolSize(int maxPoolSize)

Sets the value of the connection pool size of the httpclient, the default is 100.

setMaxRetryOnThrottledAttempts(Integer maxRetryOnThrottledAttempts)

Sets the maximum number of retries in the case where the request fails due to a throttle error.

When a client is sending request faster than the request rate limit imposed by the service, the service will return HttpStatusCode 429 (Too Many Request) to throttle the client. The current implementation in the SDK will then wait for the amount of time the service tells it to wait and retry after the time has elapsed.

The default value is 9. This means in the case where the request is throttled, the same request will be issued for a maximum of 10 times to the server before an error is returned to the application.

This property is deprecated. Please use connectionPolicy.getRetryOptions().setMaxRetryAttemptsOnThrottledRequests() for equivalent functionality.

setMediaReadMode(MediaReadMode mediaReadMode)

Sets the attachment content (aka media) download mode.

setMediaRequestTimeout(int mediaRequestTimeout)

Gets or sets Time to wait for response from network peer for attachment content (aka media) operations.

setPreferredLocations(Collection<String> preferredLocations)

Sets the preferred locations for geo-replicated database accounts. For example, "East US" as the preferred location.

When EnableEndpointDiscovery is true and PreferredRegions is non-empty, the SDK will prefer to use the locations in the collection in the order they are specified to perform operations.

If EnableEndpointDiscovery is set to false, this property is ignored.

setProxy(HttpHost proxy)

Sets a proxy which will be used when making a request. Default is null.

setRequestTimeout(int requestTimeout)

Sets the request timeout (time to wait for response from network peer) in seconds.

setRetryOptions(RetryOptions retryOptions)

Sets the retry policy options associated with the DocumentClient instance.

Properties in the RetryOptions class allow application to customize the built-in retry policies. This property is optional. When it's not set, the SDK uses the default values for configuring the retry policies. See RetryOptions class for more details.

setUserAgentSuffix(String userAgentSuffix)

sets the value of the user-agent suffix.

setUsingMultipleWriteLocations(boolean usingMultipleWriteLocations)

Sets the flag to enable writes on any locations (regions) for geo-replicated database accounts in the Azure Cosmos DB service. When the value of this property is true, the SDK will direct write operations to available writable locations of geo-replicated database account. Writable locations are ordered by PreferredLocations property. Setting the property value to true has no effect until EnableMultipleWriteLocations in DatabaseAccount is also set to true. Default value is false indicating that writes are only directed to first region in PreferredLocations property.

toString()

Inherited Members

java.lang.Object.clone() java.lang.Object.equals(java.lang.Object) java.lang.Object.finalize() java.lang.Object.getClass() java.lang.Object.hashCode() java.lang.Object.notify() java.lang.Object.notifyAll() java.lang.Object.toString() java.lang.Object.wait() java.lang.Object.wait(long) java.lang.Object.wait(long,int)

Applies to