Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hikari CP给出通信失败链接错误,其中普通JDBC连接正在工作_Java_Hikaricp - Fatal编程技术网

Java Hikari CP给出通信失败链接错误,其中普通JDBC连接正在工作

Java Hikari CP给出通信失败链接错误,其中普通JDBC连接正在工作,java,hikaricp,Java,Hikaricp,场景:使用Hikari CP打开和初始化连接池。 状态:从服务器接收到通信链路故障零数据包。 目标服务器:MYSQL 5.6.31-0ubuntu0.15.10.1 驱动程序库:编译组:“mysql”,名称:“mysql连接器java”,版本:“8.0.11” Hikari CP:编译组:“com.zaxxer”,名称:“HikariCP”,版本:“3.1.0” 不使用Hikari CP的普通JDBC连接工作正常 问题:我做错了什么? 尝试的情况:将ideltimeout和maxlifetime

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

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

问题:我做错了什么? 尝试的情况:将ideltimeout和maxlifetime更改为比maxtimewait out sql server的默认值少一分钟。同样的问题仍然存在。


请显示与Hikari连接和直接连接时使用的驱动程序类和URL的文本值。还发布了完整的异常stacktrace。这是url问题。类路径正在拾取不同的dbconfig文件。感谢您的响应您的maxLifetime可能超过应用程序和DB(防火墙、负载平衡器等)之间的基础结构中的DB本机超时或超时。尝试非常短的maxLifetime,例如2分钟(120000ms)。如果错误消失了,您就知道这是问题所在,您可以研究确切的适当值应该是多少。
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;