Skip to content

v3.5.5 支持自定义 OkHttp ConnectionPool 配置

Latest

Choose a tag to compare

@mrhegit mrhegit released this 05 Oct 15:23

修改日期: 2025-10-05

修改文件:

  • openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OkHttpClient.kt
  • openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClient.kt
  • openai-java-client-okhttp/src/main/kotlin/com/openai/client/okhttp/OpenAIOkHttpClientAsync.kt

功能描述:

新增了 connectionPool() 方法,允许用户自定义 OkHttp ConnectionPool 配置,以优化 HTTP 连接复用和管理。

核心特性:

  1. 自定义 ConnectionPool 支持

    • 用户可以传入自定义的 okhttp3.ConnectionPool 对象
    • SDK 会原样使用自定义 ConnectionPool,不会修改其任何配置
    • 用户需要手动配置 maxIdleConnections 和 keepAliveDuration 参数
  2. 智能默认 ConnectionPool

    • 当用户未提供自定义 ConnectionPool 时,SDK 自动创建优化的默认配置
    • 基于机器 CPU 核心数动态计算 maxIdleConnections 参数
    • 计算逻辑:maxIdleConnections = max(5, CPU核心数 × 2)
    • keepAliveDuration 默认为 5 分钟(符合 HTTP keep-alive 标准)
  3. 向后兼容性

    • 这是可选功能,不会破坏现有 API
    • 未提供自定义 ConnectionPool 时,自动使用优化的默认配置
    • 现有代码无需任何修改即可享受优化的连接池配置