Class HttpClientConnectionManagerBuilder
java.lang.Object
io.leandev.appfuse.http.HttpClientConnectionManagerBuilder
HTTP 連線管理器建構器。
提供流暢的 API 來建立 Apache HttpClient 5 的連線池管理器, 支援連線池大小、超時設定及 SSL 驗證配置。
使用範例:
PoolingHttpClientConnectionManager manager = HttpClientConnectionManagerBuilder.create()
.setMaxTotal(200)
.setDefaultMaxPerRoute(50)
.setConnectTimeout(30, TimeUnit.SECONDS)
.build();
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerbuild()根據目前的配置建立連線池管理器。create()建立新的 HttpClientConnectionManagerBuilder 實例。停用 SSL 憑證驗證setConnectTimeout(int timeout, TimeUnit timeUnit) 設定連線超時時間setDefaultMaxPerRoute(int max) 設定每個路由(目標主機)的預設最大連線數。setMaxTotal(int max) 設定連線池的最大連線數。setSocketTimeout(int timeout, TimeUnit timeUnit) 設定 Socket 超時時間
-
Constructor Details
-
HttpClientConnectionManagerBuilder
public HttpClientConnectionManagerBuilder()
-
-
Method Details
-
create
建立新的 HttpClientConnectionManagerBuilder 實例。- Returns:
- 新的建構器實例
-
setMaxTotal
設定連線池的最大連線數。- Parameters:
max- 最大連線數(必須 > 0,預設為 100)- Returns:
- Builder 實例
- Throws:
IllegalArgumentException- 如果 max <= 0
-
setDefaultMaxPerRoute
設定每個路由(目標主機)的預設最大連線數。- Parameters:
max- 每個路由的最大連線數(必須 > 0,預設為 20)- Returns:
- Builder 實例
- Throws:
IllegalArgumentException- 如果 max <= 0
-
setConnectTimeout
設定連線超時時間- Parameters:
timeout- 超時時間(必須 > 0)timeUnit- 時間單位(不可為 null)- Returns:
- Builder 實例
- Throws:
IllegalArgumentException- 如果 timeout <= 0 或 timeUnit 為 null
-
setSocketTimeout
設定 Socket 超時時間- Parameters:
timeout- 超時時間(必須 > 0)timeUnit- 時間單位(不可為 null)- Returns:
- Builder 實例
- Throws:
IllegalArgumentException- 如果 timeout <= 0 或 timeUnit 為 null
-
disableSSLVerification
停用 SSL 憑證驗證
⚠️ 警告:僅用於開發和測試環境 ⚠️ 生產環境使用會有安全風險(容易受到中間人攻擊) ⚠️ 此設定會接受所有 SSL 憑證,包含自簽憑證和過期憑證
- Returns:
- Builder 實例
-
build
public org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager build()根據目前的配置建立連線池管理器。- Returns:
- 配置完成的 PoolingHttpClientConnectionManager 實例
- Throws:
HttpClientException- 如果建立 SSL 上下文失敗
-