开发者社区 问答 正文

druid validationQuery和testOnborrow哪个优先生效?

druid validationQuery和testOnborrow哪个优先生效?

展开
收起
MCNU云原生 2022-01-18 18:00:03 608 分享 版权
阿里云 AI 助理回答

在Druid连接池的配置中,validationQuerytestOnBorrow参数分别控制了不同的验证行为:

  • validationQuery 是指定了一个SQL查询语句,用于验证从连接池中取出的连接是否有效。当设置此参数后,Druid会在特定条件下执行这个查询来确保连接可用。

  • testOnBorrow 指定在从连接池获取连接时是否进行连接有效性测试。如果设置为true,则每次borrow操作前都会执行validationQuery来检查连接状态。

关于它们的优先级,实际上testOnBorrow是一个控制是否执行验证的开关。如果testOnBorrow设置为false,即使配置了validationQuery,在借取连接时也不会执行验证查询。反之,如果testOnBorrow设置为true,那么在借取连接之前,就会根据validationQuery配置的SQL来验证连接的有效性。

因此,可以理解为testOnBorrow逻辑上优先生效于validationQuery:只有当testOnBorrow被启用时,validationQuery才会在借取连接时被执行。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: