Administrator
2026-06-04 9abea15a209abe0ee319b3b8486b0fdcdf46ac82
refactor(gateApi): 更新MySQL驱动并优化ApiClient配置

- 将MySQL驱动从com.mysql.jdbc.Driver升级到com.mysql.cj.jdbc.Driver
- 移除自定义createApiClient方法中的OkHttpClient配置
- 直接使用ApiClient默认配置替代自定义HTTP客户端设置
- 简化GateGridTradeService中的API客户端初始化逻辑
- 统一所有环境配置文件中的数据库驱动类名更新
7 files modified
39 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java 27 ●●●● patch | view | raw | blame | history
src/main/resources/application-app.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/application-dayline.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/application-loop.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/application-newprice.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -11,9 +11,6 @@
import io.gate.gateapi.models.*;
import lombok.extern.slf4j.Slf4j;
import okhttp3.ConnectionPool;
import okhttp3.OkHttpClient;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -22,7 +19,6 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import com.xcong.excoin.modules.gateApi.wsHandler.handler.CandlestickChannelHandler;
import com.xcong.excoin.modules.gateApi.wsHandler.handler.PositionClosesChannelHandler;
@@ -153,24 +149,11 @@
    public GateGridTradeService(GateConfig config) {
        this.config = config;
        ApiClient apiClient = createApiClient(config);
        ApiClient apiClient = new ApiClient();
        apiClient.setBasePath(config.getRestBasePath());
        apiClient.setApiKeySecret(config.getApiKey(), config.getApiSecret());
        this.futuresApi = new FuturesApi(apiClient);
        this.executor = new GateTradeExecutor(apiClient, config.getContract());
    }
    private static ApiClient createApiClient(GateConfig config) {
        OkHttpClient httpClient = new OkHttpClient.Builder()
                .connectTimeout(30, TimeUnit.SECONDS)
                .readTimeout(60, TimeUnit.SECONDS)
                .writeTimeout(20, TimeUnit.SECONDS)
                .connectionPool(new ConnectionPool(5, 5, TimeUnit.SECONDS))
                .retryOnConnectionFailure(true)
                .build();
        ApiClient client = new ApiClient();
        client.setBasePath(config.getRestBasePath());
        client.setApiKeySecret(config.getApiKey(), config.getApiSecret());
        client.setHttpClient(httpClient);
        return client;
    }
    // ---- 初始化 ----
@@ -191,7 +174,9 @@
     */
    public void init() {
        try {
            ApiClient detailClient = createApiClient(config);
            ApiClient detailClient = new ApiClient();
            detailClient.setBasePath(config.getRestBasePath());
            detailClient.setApiKeySecret(config.getApiKey(), config.getApiSecret());
            AccountDetail detail = new AccountApi(detailClient).getAccountDetail();
            this.userId = detail.getUserId();
            log.info("[Gate] 用户ID: {}", userId);
src/main/resources/application-app.yml
@@ -10,7 +10,7 @@
    url: jdbc:mysql://127.0.0.1:3306/db_base?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
    username: db_base
    password: P@ssw0rd!123
    driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: ${spring_datasource_druid_initial_size:10}
src/main/resources/application-dayline.yml
@@ -10,7 +10,7 @@
    url: jdbc:mysql://rm-bp151tw8er79ig9kb5o.mysql.rds.aliyuncs.com:3306/db_biue?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
    username: ctcoin_data
    password: ctcoin_123
    driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: ${spring_datasource_druid_initial_size:10}
src/main/resources/application-loop.yml
@@ -10,7 +10,7 @@
    url: jdbc:mysql://rm-bp151tw8er79ig9kb5o.mysql.rds.aliyuncs.com:3306/db_biue?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
    username: ctcoin_data
    password: ctcoin_123
    driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: ${spring_datasource_druid_initial_size:10}
src/main/resources/application-newprice.yml
@@ -10,7 +10,7 @@
    url: jdbc:mysql://rm-bp151tw8er79ig9kb5o.mysql.rds.aliyuncs.com:3306/db_biue?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
    username: ctcoin_data
    password: ctcoin_123
    driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: ${spring_datasource_druid_initial_size:10}
src/main/resources/application-test.yml
@@ -10,7 +10,7 @@
    url: jdbc:mysql://120.27.238.55:3406/db_base?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
    username: ct_test
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: ${spring_datasource_druid_initial_size:10}
src/main/resources/application.yml
@@ -12,7 +12,7 @@
    url: jdbc:mysql://120.27.238.55:3406/db_base?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
    username: ct_test
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: ${spring_datasource_druid_initial_size:10}