HikariCp连接池未将废弃的连接返回到池,并且我收到消息,表明有太多客户端连接到postgres

时间:2019-04-19 06:40:13

标签: java hikaricp

我有一个应用程序,用户可以选择任何类型的数据库(关系型)提供URL,用户名,密码并创建连接到数据库的数据源,然后运行SELECT查询。为了连接数据库,我在连接池中使用了HikariCp(在我使用DBCP2之前,因为连接超时无法正常工作,所以我改为了HikariCp)。这是我的配置

HikariConfig config = new HikariConfig();       
config.setDriverClassName(StringUtils.trimToEmpty(driver));      
config.setJdbcUrl(StringUtils.trimToEmpty(url));
config.setUsername(username);
config.setPassword(password);       
config.setMaximumPoolSize(100);
config.setMinimumIdle(3);        
config.setConnectionTestQuery(validationQuery);      
config.setConnectionTimeout(TimeUnit.SECONDS.toMillis(jdbcTimeout)); 
config.setIdleTimeout(TimeUnit.MINUTES.toMillis(10));
config.setMaxLifetime(TimeUnit.MINUTES.toMillis(11)); 
config.addDataSourceProperty("closeMethod", "close"); 
HikariDataSource dataSource = new HikariDataSource(config);
Connection connection = dataSource.getConnection();     

jdbcTimeout-是可配置的,它可以是0 -30

运行测试,该测试使用应用程序创建查询并运行那些查询,一段时间后,我收到一个错误,提示客户过多。

我应该添加哪些属性以将废弃的连接返回到池中?

0 个答案:

没有答案