All Products
Search
Document Center

Alibaba Cloud SDK:Configure a timeout period

Last Updated:Jul 02, 2024

This topic describes how to configure network timeout periods in Alibaba Cloud SDK V1.0.

Note

Each API operation has a unique request object. The request object is named in the ${API}${Request} format. For example, a request object can be DescribeRegionRequest.

The timeout periods configured in SDK V1.0 are effective in the following descending order: the timeout periods that you specify for a request object, the timeout periods that you specify for an SDK client, and the default timeout periods. The default timeout period for connection requests is 5 seconds and the default timeout period for read requests is 10 seconds.

public static void main(String[] args) {
    // The timeout periods that you specify when you initialize the SDK client are used for all requests.
    HttpClientConfig clientConfig = HttpClientConfig.getDefault();
    // The default timeout period for read requests is 10,000 milliseconds. The value is calculated by using the formula: 10 × 1000 = 10,000.
    clientConfig.setReadTimeoutMillis(readTimeoutMillis);
    // The default timeout period for connection requests is 5,000 milliseconds. The value is calculated by using the formula: 5 × 1000 = 5,000.
    clientConfig.setConnectionTimeoutMillis(connectionTimeoutMillis);
    IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret);
    profile.setHttpClientConfig(clientConfig);
    DefaultAcsClient client = new DefaultAcsClient(profile);

    // The timeout periods that you specify for a request object are used only for the current request.
    request.setSysReadTimeout(readTimeoutMillis);
    request.setSysConnectTimeout(connectionTimeoutMillis);
}