DBCP Tomcat连接池泄漏

时间:2010-11-03 13:36:24

标签: java tomcat

<Resource name="myConn" auth="Container"
              type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"
              url="jdbc:oracle:thin:@10.10.10.10.:1521:mydb"
              username="username" password="password" maxActive="500" maxIdle="50"
              maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="60"     logAbandoned="true" accessToUnderlyingConnectionAllowed="true"
/>

我正在尝试找出未关闭连接的应用程序区域。我在我的上下文文件中添加了removeAbandoned和logAbandoned子句但是如果我在oracle上检查v $ session,它仍然显示相同数量的连接,即使在60秒后也是如此。上面的配置有什么问题吗?

1 个答案:

答案 0 :(得分:2)

我会将maxActive设置为较小的值,如50,然后检查配置是否正常工作。 根据{{​​3}},连接池必须运行低以执行对已放弃连接的检查:

  

当可用的数据库连接运行不足时   DBCP将恢复和回收任何   放弃了它找到的dB连接。

我还会将removeAbandonedTimeout更改为20,这样您就不必等到检查探测器是否正常工作。