Hikari CP提供通信故障链接错误,其中普通JDBC连接正在工作

时间:2018-06-09 12:48:55

标签: java hikaricp

场景:使用Hikari CP打开和初始化连接池。 状态:从服务器收到的通信链路故障零数据包。 目标服务器:MYSQL 5.6.31-0ubuntu0.15.10.1 Driver Lib:编译组:' mysql',名称:' mysql-connector-java',版本:' 8.0.11' Hikari CP:编译组:' com.zaxxer',名称:' HikariCP',版本:' 3.1.0'

不使用Hikari CP的普通JDBC连接工作正常。

问题:我做错了什么? 事情尝试:将ideltimeout和maxlifetime改为比maxtimewait out sql server的默认值小一分钟.Same问题仍然存在。 https://github.com/brettwooldridge/HikariCP/wiki/FAQ

DbConnectionHolder connectionHolder = new DbConnectionHolder();
        HikariConfig tranasctionDbConfig = new HikariConfig();
        HikariConfig configDb = new HikariConfig();

        tranasctionDbConfig.setDriverClassName(dbConfigHolder.getDriverClassName());
        tranasctionDbConfig.setJdbcUrl(dbConfigHolder.getTransactionDbUrl());
        tranasctionDbConfig.setMaximumPoolSize(10);
        // tranasctionDbConfig.setLeakDetectionThreshold(5000);
        //tranasctionDbConfig.setConnectionTimeout(2000);
        tranasctionDbConfig.setIdleTimeout(28740000);
        tranasctionDbConfig.setMaxLifetime(28740000);

        tranasctionDbConfig.setUsername(dbConfigHolder.getTransactionDbUserName());
        tranasctionDbConfig.setPassword(dbConfigHolder.getTransactionDbPassword());

        configDb.setDriverClassName(dbConfigHolder.getDriverClassName());
        configDb.setJdbcUrl(dbConfigHolder.getConfigDbUrl());

        configDb.setIdleTimeout(28740000);
        configDb.setMaxLifetime(28740000);


        configDb.setUsername(dbConfigHolder.getConfigDbUserName());
        configDb.setPassword(dbConfigHolder.getConfigDbPassword());

        //configDb.setIdleTimeout(200000);
    //  configDb.setMaxLifetime(200000);

    DataSource configDataSource = new HikariDataSource(configDb);

        DataSource transactionDatasource = new HikariDataSource(tranasctionDbConfig);

        connectionHolder.setConfigDataSource(configDataSource);
        connectionHolder.setTranctionDataSource(transactionDatasource);
        return connectionHolder;

0 个答案:

没有答案