本节主要介绍升级版 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);
}
}