Java HikariPool-1-连接不可用,对于负载非常小的服务器,请求在30000ms后超时

Java HikariPool-1-连接不可用,对于负载非常小的服务器,请求在30000ms后超时,java,spring,datasource,hikaricp,dbcp,Java,Spring,Datasource,Hikaricp,Dbcp,我有一个用于测试的小型Java应用程序。我最近搬到了hikari。我注意到的是我一直在犯这个错误 java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms. java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not availab

我有一个用于测试的小型Java应用程序。我最近搬到了hikari。我注意到的是我一直在犯这个错误

java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.
java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:602)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:195)
at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:145)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:85)
下面是我最初对hikari的设置

 HikariConfig config = new HikariConfig();
            config.setJdbcUrl("jdbc:mysql://localhost:3306/****"); 
            config.setUsername("***"); 
            config.setPassword("*****");      
            config.setMaximumPoolSize(20);  
我的两个设备几乎没有被使用过,我保证最后会关闭它。所以我不知道为什么它总是出错?可能是什么问题,或者是否有一些设置需要更改


我的hikari版本是HikariCP-2.6.1.jar。

由于网络延迟或某些查询执行时间过长(超过30000毫秒),您的数据库未在(30000毫秒,这是默认的connectionTimeout属性)内获得连接

请尝试增加属性的值
connectionTimeout

YML配置示例:

spring:
  datasource:
    hikari:
      minimumIdle: 2
      maximumPoolSize: 10
      idleTimeout: 120000
      connectionTimeout: 300000
      leakDetectionThreshold: 300000
Java配置示例:

HikariConfig config = new HikariConfig();
        config.setMaximumPoolSize(20);
        config.setConnectionTimeout(300000);
        config.setConnectionTimeout(120000);
        config.setLeakDetectionThreshold(300000);

我使用的是spring boot,我也面临同样的问题,我的解决方案是获得如下连接“
DataSourceUtils.getConnection(dataSource)
”。因此,我将从
dataSource.getConnection()
更改为
DataSourceUtils.getConnection(dataSource)

请将hikari版本和hikari的其他设置添加到您的问题中我的hikari版本是HIKARIP-2.6.1.jar。我没有任何其他设置,除了上述问题。谢谢。您是如何初始化传递给DataSourceUtils.getConnection(dataSource)的“dataSource”参数的?如下所示:@Autowired private dataSource dataSource;