Overview | Package | Class | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.amazonaws
Class ClientConfiguration

    java.lang.Object
      com.amazonaws.ClientConfiguration

    public class ClientConfiguration

extends Object

Client configuration options such as proxy settings, user agent string, max retry attempts, etc.

Field Summary
`static String` | `DEFAULT_USER_AGENT` The default HTTP user agent header for AWS Java SDK clients.

Constructor Summary
`ClientConfiguration()`

Method Summary
`int` | `getConnectionTimeout()` Returns the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out.
`int` | `getMaxConnections()` Returns the maximum number of allowed open HTTP connections.
`int` | `getMaxErrorRetry()` Returns the maximum number of retry attempts for failed retryable requests (ex: 5xx error responses from a service).
`Protocol` | `getProtocol()` Returns the protocol (i.e.
`String` | `getProxyHost()` Returns the optional proxy host the client will connect through.
`String` | `getProxyPassword()` Returns the optional proxy password to use when connecting through a proxy.
`int` | `getProxyPort()` Returns the optional proxy port the client will connect through.
`String` | `getProxyUsername()` Returns the optional proxy user name to use if connecting through a proxy.
`int[]` | `getSocketBufferSizeHints()` Returns the optional size hints (in bytes) for the low level TCP send and receive buffers.
`int` | `getSocketTimeout()` Returns the amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection times out and is closed.
`String` | `getUserAgent()` Returns the HTTP user agent header to send with all requests.
`void` | `setConnectionTimeout(int connectionTimeout)` Sets the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out.
`void` | `setMaxConnections(int maxConnections)` Sets the maximum number of allowed open HTTP connections.
`void` | `setMaxErrorRetry(int maxErrorRetry)` Sets the maximum number of retry attempts for failed retryable requests (ex: 5xx error responses from services).
`void` | `setProtocol(Protocol protocol)` Sets the protocol (i.e.
`void` | `setProxyHost(String proxyHost)` Sets the optional proxy host the client will connect through.
`void` | `setProxyPassword(String proxyPassword)` Sets the optional proxy password to use when connecting through a proxy.
`void` | `setProxyPort(int proxyPort)` Sets the optional proxy port the client will connect through.
`void` | `setProxyUsername(String proxyUsername)` Sets the optional proxy user name to use if connecting through a proxy.
`void` | `setSocketBufferSizeHints(int socketSendBufferSizeHint, int socketReceiveBufferSizeHint)` Sets the optional size hints (in bytes) for the low level TCP send and receive buffers.
`void` | `setSocketTimeout(int socketTimeout)` Sets the amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection times out and is closed.
`void` | `setUserAgent(String userAgent)` Sets the HTTP user agent header to send with all requests.
`ClientConfiguration` | `withConnectionTimeout(int connectionTimeout)` Sets the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out, and returns the updated ClientConfiguration object so that additional method calls may be chained together.
`ClientConfiguration` | `withMaxConnections(int maxConnections)` Sets the maximum number of allowed open HTTP connections and returns the updated ClientConfiguration object.
`ClientConfiguration` | `withMaxErrorRetry(int maxErrorRetry)` Sets the maximum number of retry attempts for failed retryable requests (ex: 5xx error responses from services), and returns the updated ClientConfiguration object.
`ClientConfiguration` | `withProtocol(Protocol protocol)` Sets the protocol (i.e.
`ClientConfiguration` | `withProxyHost(String proxyHost)` Sets the optional proxy host the client will connect through and returns the updated ClientConfiguration object.
`ClientConfiguration` | `withProxyPassword(String proxyPassword)` Sets the optional proxy password to use when connecting through a proxy, and returns the updated ClientConfiguration object.
`ClientConfiguration` | `withProxyPort(int proxyPort)` Sets the optional proxy port the client will connect through and returns the updated ClientConfiguration object.
`ClientConfiguration` | `withProxyUsername(String proxyUsername)` Sets the optional proxy user name and returns the updated ClientConfiguration object.
`ClientConfiguration` | `withSocketBufferSizeHints(int socketSendBufferSizeHint, int socketReceiveBufferSizeHint)` Sets the optional size hints (in bytes) for the low level TCP send and receive buffers, and returns the updated ClientConfiguration object so that additional method calls may be chained together.
`ClientConfiguration` | `withSocketTimeout(int socketTimeout)` Sets the amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection times out and is closed, and returns the updated ClientConfiguration object so that additional method calls may be chained together.
`ClientConfiguration` | `withUserAgent(String userAgent)` Sets the HTTP user agent header used in requests and returns the updated ClientConfiguration object.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### DEFAULT_USER_AGENT

    public static final String DEFAULT_USER_AGENT

  The default HTTP user agent header for AWS Java SDK clients.

  See Also:
    Constant Field Values

Constructor Detail

### ClientConfiguration

    public ClientConfiguration()

Method Detail

### getProtocol

    public Protocol getProtocol()

  Returns the protocol (i.e. HTTP or HTTPS) to use when connecting to Amazon Web Services.

  The default configuration is to use HTTPS for all requests for increased security.

  Individual clients can also override this setting by explicitly including the protocol as part of the endpoint URL when calling `AmazonWebServiceClient.setEndpoint(String)`.

  Returns:
    The protocol to use when connecting to Amazon Web Services.

### setProtocol

    public void setProtocol(Protocol protocol)

  Sets the protocol (i.e. HTTP or HTTPS) to use when connecting to Amazon Web Services.

  The default configuration is to use HTTPS for all requests for increased security.

  Individual clients can also override this setting by explicitly including the protocol as part of the endpoint URL when calling `AmazonWebServiceClient.setEndpoint(String)`.

  Parameters:
    `protocol` - The protocol to use when connecting to Amazon Web Services.

### withProtocol

    public ClientConfiguration withProtocol(Protocol protocol)

  Sets the protocol (i.e. HTTP or HTTPS) to use when connecting to Amazon Web Services, and returns the updated ClientConfiguration object so that additional calls may be chained together.

  The default configuration is to use HTTPS for all requests for increased security.

  Individual clients can also override this setting by explicitly including the protocol as part of the endpoint URL when calling `AmazonWebServiceClient.setEndpoint(String)`.

  Parameters:
    `protocol` - The protocol to use when connecting to Amazon Web Services.
  Returns:
    The updated ClientConfiguration object with the new max HTTP connections setting.

### getMaxConnections

    public int getMaxConnections()

  Returns the maximum number of allowed open HTTP connections.

  Returns:
    The maximum number of allowed open HTTP connections.

### setMaxConnections

    public void setMaxConnections(int maxConnections)

  Sets the maximum number of allowed open HTTP connections.

  Parameters:
    `maxConnections` - The maximum number of allowed open HTTP connections.

### withMaxConnections

    public ClientConfiguration withMaxConnections(int maxConnections)

  Sets the maximum number of allowed open HTTP connections and returns the updated ClientConfiguration object.

  Parameters:
    `maxConnections` - The maximum number of allowed open HTTP connections.
  Returns:
    The updated ClientConfiguration object with the new max HTTP connections setting.

### getUserAgent

    public String getUserAgent()

  Returns the HTTP user agent header to send with all requests.

  Returns:
    The user agent string to use when sending requests.

### setUserAgent

    public void setUserAgent(String userAgent)

  Sets the HTTP user agent header to send with all requests.

  Parameters:
    `userAgent` - The user agent string to use when sending requests.

### withUserAgent

    public ClientConfiguration withUserAgent(String userAgent)

  Sets the HTTP user agent header used in requests and returns the updated ClientConfiguration object.

  Parameters:
    `userAgent` - The user agent string to use when sending requests.
  Returns:
    The updated ClientConfiguration object.

### getProxyHost

    public String getProxyHost()

  Returns the optional proxy host the client will connect through.

  Returns:
    The proxy host the client will connect through.

### setProxyHost

    public void setProxyHost(String proxyHost)

  Sets the optional proxy host the client will connect through.

  Parameters:
    `proxyHost` - The proxy host the client will connect through.

### withProxyHost

    public ClientConfiguration withProxyHost(String proxyHost)

  Sets the optional proxy host the client will connect through and returns the updated ClientConfiguration object.

  Parameters:
    `proxyHost` - The proxy host the client will connect through.
  Returns:
    The updated ClientConfiguration object.

### getProxyPort

    public int getProxyPort()

  Returns the optional proxy port the client will connect through.

  Returns:
    The proxy port the client will connect through.

### setProxyPort

    public void setProxyPort(int proxyPort)

  Sets the optional proxy port the client will connect through.

  Parameters:
    `proxyPort` - The proxy port the client will connect through.

### withProxyPort

    public ClientConfiguration withProxyPort(int proxyPort)

  Sets the optional proxy port the client will connect through and returns the updated ClientConfiguration object.

  Parameters:
    `proxyPort` - The proxy port the client will connect through.
  Returns:
    The updated ClientConfiguration object.

### getProxyUsername

    public String getProxyUsername()

  Returns the optional proxy user name to use if connecting through a proxy.

  Returns:
    The optional proxy user name the configured client will use if connecting through a proxy.

### setProxyUsername

    public void setProxyUsername(String proxyUsername)

  Sets the optional proxy user name to use if connecting through a proxy.

  Parameters:
    `proxyUsername` - The proxy user name to use if connecting through a proxy.

### withProxyUsername

    public ClientConfiguration withProxyUsername(String proxyUsername)

  Sets the optional proxy user name and returns the updated ClientConfiguration object.

  Parameters:
    `proxyUsername` - The proxy user name to use if connecting through a proxy.
  Returns:
    The updated ClientConfiguration object.

### getProxyPassword

    public String getProxyPassword()

  Returns the optional proxy password to use when connecting through a proxy.

  Returns:
    The password to use when connecting through a proxy.

### setProxyPassword

    public void setProxyPassword(String proxyPassword)

  Sets the optional proxy password to use when connecting through a proxy.

  Parameters:
    `proxyPassword` - The password to use when connecting through a proxy.

### withProxyPassword

    public ClientConfiguration withProxyPassword(String proxyPassword)

  Sets the optional proxy password to use when connecting through a proxy, and returns the updated ClientConfiguration object.

  Parameters:
    `proxyPassword` - The password to use when connecting through a proxy.
  Returns:
    The updated ClientConfiguration object.

### getMaxErrorRetry

    public int getMaxErrorRetry()

  Returns the maximum number of retry attempts for failed retryable requests (ex: 5xx error responses from a service).

  Returns:
    The maximum number of retry attempts for failed retryable requests.

### setMaxErrorRetry

    public void setMaxErrorRetry(int maxErrorRetry)

  Sets the maximum number of retry attempts for failed retryable requests (ex: 5xx error responses from services).

  Parameters:
    `maxErrorRetry` - The maximum number of retry attempts for failed retryable requests.

### withMaxErrorRetry

    public ClientConfiguration withMaxErrorRetry(int maxErrorRetry)

  Sets the maximum number of retry attempts for failed retryable requests (ex: 5xx error responses from services), and returns the updated ClientConfiguration object.

  Parameters:
    `maxErrorRetry` - The maximum number of retry attempts for failed retryable requests.
  Returns:
    The updated ClientConfiguration object.

### getSocketTimeout

    public int getSocketTimeout()

  Returns the amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection times out and is closed. A value of 0 means infinity, and isn't recommended.

  Returns:
    The amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection times out and is closed.

### setSocketTimeout

    public void setSocketTimeout(int socketTimeout)

  Sets the amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection times out and is closed. A value of 0 means infinity, and isn't recommended.

  Parameters:
    `socketTimeout` - The amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection is times out and is closed.

### withSocketTimeout

    public ClientConfiguration withSocketTimeout(int socketTimeout)

  Sets the amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection times out and is closed, and returns the updated ClientConfiguration object so that additional method calls may be chained together.

  Parameters:
    `socketTimeout` - The amount of time to wait (in milliseconds) for data to be transfered over an established, open connection before the connection is times out and is closed.
  Returns:
    The updated ClientConfiguration object.

### getConnectionTimeout

    public int getConnectionTimeout()

  Returns the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out. A value of 0 means infinity, and is not recommended.

  Returns:
    The amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out.

### setConnectionTimeout

    public void setConnectionTimeout(int connectionTimeout)

  Sets the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out. A value of 0 means infinity, and is not recommended.

  Parameters:
    `connectionTimeout` - The amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out.

### withConnectionTimeout

    public ClientConfiguration withConnectionTimeout(int connectionTimeout)

  Sets the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out, and returns the updated ClientConfiguration object so that additional method calls may be chained together.

  Parameters:
    `connectionTimeout` - the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out.
  Returns:
    The updated ClientConfiguration object.

### getSocketBufferSizeHints

    public int[] getSocketBufferSizeHints()

  Returns the optional size hints (in bytes) for the low level TCP send and receive buffers. This is an advanced option for advanced users who want to tune low level TCP parameters to try and squeeze out more performance.

  The optimal TCP buffer sizes for a particular application are highly dependent on network configuration and operating system configuration and capabilities. For example, most modern operating systems provide auto-tuning functionality for TCP buffer sizes, which can have a big impact on performance for TCP connections that are held open long enough for the auto-tuning to optimize buffer sizes.

  Large buffer sizes (ex: 2MB) will allow the operating system to buffer more data in memory without requiring the remote server to acknowledge receipt of that information, so can be particularly useful when the network has high latency.

  This is only a hint, and the operating system may choose not to honor it. When using this option, users should always check the operating system's configured limits and defaults. Most OS's have a maximum TCP buffer size limit configured, and won't let you go beyond that limit unless you explicitly raise the max TCP buffer size limit.

  There are many resources available online to help with configuring TCP buffer sizes and operating system specific TCP settings, including:

  - http://onlamp.com/pub/a/onlamp/2005/11/17/tcp_tuning.html
  - http://fasterdata.es.net/TCP-tuning/

  Returns:
    A two element array containing first the TCP send buffer size hint and then the TCP receive buffer size hint.

### setSocketBufferSizeHints

    public void setSocketBufferSizeHints(int socketSendBufferSizeHint,
                                         int socketReceiveBufferSizeHint)

  Sets the optional size hints (in bytes) for the low level TCP send and receive buffers. This is an advanced option for advanced users who want to tune low level TCP parameters to try and squeeze out more performance.

  The optimal TCP buffer sizes for a particular application are highly dependent on network configuration and operating system configuration and capabilities. For example, most modern operating systems provide auto-tuning functionality for TCP buffer sizes, which can have a big impact on performance for TCP connections that are held open long enough for the auto-tuning to optimize buffer sizes.

  Large buffer sizes (ex: 2MB) will allow the operating system to buffer more data in memory without requiring the remote server to acknowledge receipt of that information, so can be particularly useful when the network has high latency.

  This is only a hint, and the operating system may choose not to honor it. When using this option, users should always check the operating system's configured limits and defaults. Most OS's have a maximum TCP buffer size limit configured, and won't let you go beyond that limit unless you explicitly raise the max TCP buffer size limit.

  There are many resources available online to help with configuring TCP buffer sizes and operating system specific TCP settings, including:

  - http://onlamp.com/pub/a/onlamp/2005/11/17/tcp_tuning.html
  - http://fasterdata.es.net/TCP-tuning/

  Parameters:
    `socketSendBufferSizeHint` - The size hint (in bytes) for the low level TCP send buffer.
    `socketReceiveBufferSizeHint` - The size hint (in bytes) for the low level TCP receive buffer.

### withSocketBufferSizeHints

    public ClientConfiguration withSocketBufferSizeHints(int socketSendBufferSizeHint,
                                                         int socketReceiveBufferSizeHint)

  Sets the optional size hints (in bytes) for the low level TCP send and receive buffers, and returns the updated ClientConfiguration object so that additional method calls may be chained together.

  This is an advanced option for advanced users who want to tune low level TCP parameters to try and squeeze out more performance.

  The optimal TCP buffer sizes for a particular application are highly dependent on network configuration and operating system configuration and capabilities. For example, most modern operating systems provide auto-tuning functionality for TCP buffer sizes, which can have a big impact on performance for TCP connections that are held open long enough for the auto-tuning to optimize buffer sizes.

  Large buffer sizes (ex: 2MB) will allow the operating system to buffer more data in memory without requiring the remote server to acknowledge receipt of that information, so can be particularly useful when the network has high latency.

  This is only a hint, and the operating system may choose not to honor it. When using this option, users should always check the operating system's configured limits and defaults. Most OS's have a maximum TCP buffer size limit configured, and won't let you go beyond that limit unless you explicitly raise the max TCP buffer size limit.

  There are many resources available online to help with configuring TCP buffer sizes and operating system specific TCP settings, including:

  - http://onlamp.com/pub/a/onlamp/2005/11/17/tcp_tuning.html
  - http://fasterdata.es.net/TCP-tuning/

  Parameters:
    `socketSendBufferSizeHint` - The size hint (in bytes) for the low level TCP send buffer.
    `socketReceiveBufferSizeHint` - The size hint (in bytes) for the low level TCP receive buffer.
  Returns:
    The updated ClientConfiguration object.

Overview | Package | Class | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.