Tomcat jdbc连接池,使用后不释放连接

时间:2015-04-14 15:37:37

标签: java tomcat jdbc pool

使用后tomcat没有释放连接的原因是什么?

Herem是我的配置

<Resource name="jdbc/DataSource" auth="Container"
type="javax.sql.DataSource" username="))" password="))"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="))"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
initialSize="55"
maxActive="55" maxIdle="55" maxWait="15000"

testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationQuery="SELECT 1 FROM DUAL"
validationInterval="20000"

timeBetweenEvictionRunsMillis="30000"
removeAbandoned="true"
removeAbandonedTimeout="60"
/>

2 个答案:

答案 0 :(得分:1)

您仍需要在代码中调用connection.close()以将连接释放到池中。它不会自动发生。

您可以将池配置为检测“遗留连接”:

removeAbandoned="true"
removeAbandonedTimeout="60"

连接非活动状态超过指定的秒数将自动关闭并由池回收

答案 1 :(得分:0)

最有可能的是,使用它们后不要关闭连接。 例如,如果您没有正确管理异常,就会发生这种情况。