我假设我具有与MaximumPoolSize(5)接近的默认HicariConfiguration。 我面临的问题是,即使第一个失败,也有很多尝试连接到数据库。我的意思是,例如,我将用于连接到Oracle的密码错误并且连接失败,但是随后我们又尝试了一次连接到数据库的尝试,从而锁定了该帐户。
问题:应该使用哪种HicariCP设置来限制最多1次尝试连接?
感谢您提供任何信息!
###更新env.conf:
jdbc {
test1 {
datasourceClassName="oracle.jdbc.pool.OracleDataSource"
dataSourceUrl=.....jdbc url
dataSourceUser=USER
dataSourcePassword=password
setMaximumPoolSize = 5
setJdbc4ConnectionTest = true
}
}
通过ConfigFactory读取conf文件,并基于conf文件(setDriverClassName等)创建HicariConfig。 HikariConfig的输出:
autoCommit.....................true
connectionTimeOut..............30000
idleTimeOut....................600000
initializationFailFast.........false
isolateInternalQueries.........false
jdbc4ConnectionTest............test
maxLifetime....................1800000
minimumIdle....................5
答案 0 :(得分:1)
https://github.com/brettwooldridge/HikariCP/issues/312,如本期末所述,HikariCP将继续尝试获取连接。它故意删除了acquireRetries参数。因此,方法是配置正确的用户名/密码,因为DB仅在身份验证失败后才锁定。
这里是从问题中摘录的。 HikariCP打算永远重试。
返回acquireRetries ...没有acceptRetries概念,如何 专用线程会继续尝试创建新的对象多长时间 连接? 永远。后台创建线程将继续 尝试将连接永久添加到池中,或者直到添加三个连接之一 满足条件: