Configure a timeout period

更新时间:
复制 MD 格式

You can configure network timeout periods at the request level or the client level in Alibaba Cloud SDK V1.0.

Note

Each API operation has a unique request object named in the ${API}${Request} format, such as DescribeRegionRequest.

SDK V1.0 applies timeout periods in the following priority order: request-level settings, client-level settings, and default values. The default connection timeout is 5 seconds and the default read timeout 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);
}