このトピックでは、Alibaba Cloud SDK V1.0 で HTTP 接続プールを構成する方法について説明します。
SDK V1.0 で SDK クライアントを初期化するときに、HttpClientConfig を使用して HTTP 接続プールを構成できます。1 つの SDK クライアントしか使用できないため、HTTP 接続プールは、複数の Alibaba Cloud サービスの SDK から開始された API リクエストを処理します。
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 シークレットを取得します。
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
/* 複数の SDK クライアントによって使用される HTTP 接続プールの parameters です。たとえば、各ホストの最大接続数とタイムアウト期間を構成できます。 */
HttpClientConfig clientConfig = HttpClientConfig.getDefault();
clientConfig.setMaxRequestsPerHost(6);
// 単位:ミリ秒。
clientConfig.setConnectionTimeoutMillis(30000L);
clientConfig.setMaxIdleConnections(20);
profile.setHttpClientConfig(clientConfig);
IAcsClient client = new DefaultAcsClient(profile);
}
}