HTTP 连接池配置
更新时间:
本节主要介绍V1.0 SDK 如何进行 HTTP 连接池配置。
V1.0 SDK 中通过 HttpClientConfig 在初始化 Client 阶段设置连接池设置,由于单 Client 的原因,多个云产品的 SDK 请求会共享一个连接池:
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.http.HttpClientConfig;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
public class Sample {
public static void main(String[] args) {
// 创建DefaultAcsClient实例并初始化
DefaultProfile profile = DefaultProfile.getProfile(
// 地域ID
"<region-id>",
// 从环境变量获取RAM账号的AccessKey ID
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// 从环境变量获取RAM账号的AccessKey ID
System.getenv("ALIBABA_CLOUD_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);
}
}
文档内容是否对您有帮助?