超时机制

更新时间:

本节主要介绍升级版 SDK 的超时机制。

V2.0 SDK 实现了对请求参数的精细化管理,通过将业务逻辑参数与运行时配置参数明确划分,有效降低了用户在配置过程中的混淆可能性。在超时配置上,V2.0 SDK 的超时机制为 RuntimeOption -> Client 设置 -> 默认,优先级依次降低。默认连接超时为5秒,读超时为10秒:

import com.aliyun.ecs20140526.models.DescribeRegionsRequest;
import com.aliyun.teautil.models.RuntimeOptions;

public class Sample {
    public static void main(String[] args) throws Exception {
        com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
        // 使用Credentials配置凭证。
        config.setCredential(credentialClient);
        config.setRegionId("<regionId>");
        // Client 超时参数设置
        // 连接超时默认 5 * 1000 毫秒
        config.setConnectTimeout(5000);
        // 读超时默认 10 * 1000 毫秒
        config.setReadTimeout(10000);
        com.aliyun.ecs20140526.Client client = new com.aliyun.ecs20140526.Client(config);

        // 运行时参数超时设置,仅对使用了该运行时参数实例的请求有效
        RuntimeOptions runtimeOptions = new RuntimeOptions();
        runtimeOptions.connectTimeout = 5000;
        runtimeOptions.readTimeout = 10000;

        DescribeRegionsRequest describeRegionsRequest = new DescribeRegionsRequest();

        client.describeRegionsWithOptions(describeRegionsRequest, runtimeOptions);
    }
}