User guide

The AWS SDK for Java uses the US East (Northern Virginia) Region as the default region if you do not
specify a region in your code. However, the AWS Management Console uses US West (Oregon) Region
as its default.Therefore, when using the AWS Management Console in conjunction with your development,
be sure to specify the same region in both your code and the console.
Go to Regions and Endpoints for the current list of regions and corresponding endpoints for all AWS
services.
Client Networking Configuration
The AWS SDK for Java allows you to change the default client configuration, which is helpful when you
want to:
Connect to the Internet through proxy
Change HTTP transport settings, such as connection timeout and request retries.
Specify TCP socket buffer size hints
Proxy Configuration
When constructing a client object, you can pass in an optional com.amazonaws.ClientConfiguration
object to customize the client's configuration.
If you're connecting to the Internet through a proxy server, you'll need to configure your proxy server
settings (proxy host, port and username/password) through the ClientConfiguration object.
HTTP Transport Configuration
Several HTTP transport options can be configured through the ClientConfiguration object. Default
values will suffice for the majority of users, but users who want more control can configure the following:
Socket timeout
Connection timeout
Maximum retry attempts for retry-able errors
Maximum open HTTP connections
TCP Socket Buffer Size Hints
Advanced users who want to tune low-level TCP parameters can additionally set TCP buffer size hints
through the ClientConfiguration object.The majority of users will never need to tweak these values,
but they are provided for advanced users.
Optimal TCP buffer sizes for an application are highly dependent on network and OS configuration and
capabilities. For example, most modern operating systems provide auto-tuning logic 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 (e.g., 2 MB) allow the OS 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 OS 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.
Version v1.0.0
12
AWS SDK for Java Developer Guide
Client Networking Configuration