Spring boot 取消Hikari池连接,并打开新池

Spring boot 取消Hikari池连接,并打开新池,spring-boot,spring-data-jpa,connection-pooling,hikaricp,Spring Boot,Spring Data Jpa,Connection Pooling,Hikaricp,我有一个spring boot(2.4)应用程序,在长时间运行的jpa事务下,我看到很多连接超过了我的最大池大小,当我检查日志时,我看到连接被省略了,在新的HikariPools 2-3-4等之后。。。都打开了。 我尝试了hikari 4.0.2版本,但仍然存在相同的问题。在这种情况下,给出最大池大小(每个池看起来都是我的最大池大小,但总连接数超过了我的限制)的意义是什么。是否有任何配置来限制打开的池数? 我用代码创建这样的数据源 HikariDataSource dataSource = ne

我有一个spring boot(2.4)应用程序,在长时间运行的jpa事务下,我看到很多连接超过了我的最大池大小,当我检查日志时,我看到连接被省略了,在新的HikariPools 2-3-4等之后。。。都打开了。 我尝试了hikari 4.0.2版本,但仍然存在相同的问题。在这种情况下,给出最大池大小(每个池看起来都是我的最大池大小,但总连接数超过了我的限制)的意义是什么。是否有任何配置来限制打开的池数? 我用代码创建这样的数据源

HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl(myuri);
 dataSource.setUsername(myuser);
 dataSource.setPassword(mypasswprd);
 dataSource.setMinimumIdle(10);
 dataSource.setMaximumPoolSize(10);
 dataSource.setIdleTimeout(100000);
 dataSource.setMaxLifetime(200000);
 return dataSource;
问候

HikariPool-1 - Add connection elided, waiting 3, queue 5

17:54:56.894 [restartedMain] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@4c6d3cfb
17:54:56.999 [HikariPool-1 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Pool stats (total=1, active=0, idle=1, waiting=0)
17:54:57.669 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@190a0b35
17:54:58.314 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection oracle.jdbc.driver.T4CConnection@69a59932
17:54:58.314 [HikariPool-1 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - After adding stats (total=3, active=0, idle=3, waiting=0)
17:56:57.005 [HikariPool-1 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Pool stats (total=5, active=0, idle=5, waiting=0)
17:56:57.005 [HikariPool-1 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Fill pool skipped, pool is at sufficient level.
17:57:27.006 [HikariPool-1 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Pool stats (total=5, active=0, idle=5, waiting=0)
17:57:27.006 [HikariPool-1 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Fill pool skipped, pool is at sufficient level.
18:15:03.114 [http-nio-8085-exec-2] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 4, queue 5
18:15:03.126 [http-nio-8085-exec-17] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 4, queue 5
18:15:03.130 [http-nio-8085-exec-18] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 3, queue 5
18:15:03.248 [http-nio-8085-exec-11] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 3, queue 5
18:15:03.254 [http-nio-8085-exec-8] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 3, queue 5
18:15:03.288 [http-nio-8085-exec-17] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 3, queue 5
18:15:03.289 [http-nio-8085-exec-8] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 2, queue 5
18:15:03.291 [http-nio-8085-exec-11] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection elided, waiting 3, queue 5
18:15:03.326 [http-nio-8085-exec-8] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Add connection
18:15:03.391 [http-nio-8085-exec-12] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-2 - Added connection oracle.jdbc.driver.T4CConnection@4f5ab95d
18:15:03.538 [HikariPool-2 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-2 - Pool stats (total=1, active=1, idle=0, waiting=1)
18:15:03.938 [http-nio-8085-exec-6] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-3 - Added connection oracle.jdbc.driver.T4CConnection@4e5ee0cc
18:15:04.040 [HikariPool-3 housekeeper] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-3 - Pool stats (total=1, active=1, idle=0, waiting=1)
18:15:04.167 [HikariPool-2 connection adder] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-2 - Added connection oracle.jdbc.driver.T4CConnection@317680ec
18:15:04.225 [http-nio-8085-exec-5] DEBUG com.zaxxer.hikari.pool.HikariPool - HikariPool-4 - Added connection oracle.jdbc.driver.T4CConnection@79d11005

在我的代码中有一个漏洞,我不止一次创建了数据源,因此我看到了多个数据源,因为默认配置没有这样做,所以你必须做一些超出默认设置的事情才能做到这一点。请在您的问题中添加一些代码/配置。您好,我在问题中添加了代码示例,我在jpa上下文中使用spring jpa,我用这样的代码设置数据源您只是发布了一些片段,这使得不可能了解完整情况。您正在使用SpringBoot,为什么不使用SpringBoot呢。只需将配置添加到您的
应用程序.properties
中,并放弃此显式配置的数据源。我必须从vault中提取密码等,因此我使用代码创建数据源,但这是否重要,因为使用代码或配置,有没有办法解决这个问题?Spring Boot可以非常轻松地从vault获取内容,而无需手动配置所有内容。但如上所述,信息太少,无法回答这一问题。手动配置东西的事实也意味着手动配置其他东西,因此不同。