このトピックでは、Alibaba Cloud SDK V1.0 で HTTP 接続プールを設定する方法について説明します。
SDK V1.0 で SDK クライアントを初期化する際、HttpClientConfig を使用して HTTP 接続プールを設定できます。HTTP 接続プールは、複数の Alibaba Cloud サービスの SDK からの API リクエストを処理します。この接続プールは、複数の 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>",
// 環境変数から Resource Access Management (RAM) ユーザーの AccessKey ID を取得します。
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// 環境変数から RAM ユーザーの AccessKey Secret を取得します。
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
/* 複数の SDK クライアントは 1 つの接続プールを共有します。ホストごとの最大接続数やタイムアウト期間など、このプールのパラメータを設定します。*/
HttpClientConfig clientConfig = HttpClientConfig.getDefault();
clientConfig.setMaxRequestsPerHost(6);
// 単位: ミリ秒。
clientConfig.setConnectionTimeoutMillis(30000L);
clientConfig.setMaxIdleConnections(20);
profile.setHttpClientConfig(clientConfig);
IAcsClient client = new DefaultAcsClient(profile);
}
}