有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

tomcat在使用后不释放连接的原因可能是什么

这是我的配置

<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) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    您仍然需要呼叫连接。在代码中关闭()以释放到池的连接。它不是自动发生的

    您可以通过以下方式配置池以检测“剩余连接”:

    removeAbandoned="true"
    removeAbandonedTimeout="60"
    

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