一尘不染

如何从池中删除无效的数据库连接

tomcat

我正在使用 TomcatOracle 数据库建立连接池。它工作正常,但是当我长时间使用我的应用程序时,出现“ 连接重置
错误。我收到此错误的原因是,在tomcat数据源的逻辑连接关闭之前,oracle服务器的物理连接已关闭。因此,在从数据源获取连接之前,我正在使用连接对象的
isValid(0) 方法检查连接有效性,如果物理连接已关闭,则该方法为false。但我不知道如何从池中 删除无效的连接
对象。


阅读 314

收藏
2020-06-16

共1个答案

一尘不染

我在 server.xml* 文件中配置数据源时使用了 validatationquery
。在提供给应用程序之前,它将通过在数据库中执行查询来检查连接的有效性。
*

对于 Oracle

validationQuery="/* select 1 from dual */"

对于 MySql

validationQuery="/* ping */"
2020-06-16