HTTP 连接池配置

本节主要介绍原版 SDK 如何进行 HTTP 连接池配置。

原版 SDK 中通过 HttpClientConfig 在初始化 Client 阶段设置连接池设置,由于单 Client 的原因,多个云产品的 SDK 请求会共享一个连接池:

public static void main(String[] args) {
    // 创建DefaultAcsClient实例并初始化
    DefaultProfile profile = DefaultProfile.getProfile(
            "<your-region-id>",          // 地域ID
            "<your-access-key-id>",      // RAM账号的AccessKey ID
            "<your-access-key-secret>"); // RAM账号Access Key Secret

    /* 多个SDK client共享一个连接池,此处设置该连接池的参数,
    比如每个host的最大连接数,超时时间等 */
    HttpClientConfig clientConfig = HttpClientConfig.getDefault();
    clientConfig.setMaxRequestsPerHost(6);
    clientConfig.setConnectionTimeoutMillis(30000L);
    clientConfig.setMaxIdleConnections(20);

    profile.setHttpClientConfig(clientConfig);
    IAcsClient client = new DefaultAcsClient(profile);
}