【问题标题】:DBCP Tomcat connection pool leakDBCP Tomcat 连接池泄漏
【发布时间】:2010-11-03 13:36:23
【问题描述】:
<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 秒后它仍然显示相同数量的活动连接。上面的配置有问题吗?

【问题讨论】:

    标签: java tomcat


    【解决方案1】:

    我会将maxActive 设置为较小的值,例如 50,然后检查配置是否正常工作。 根据the docs,连接池必须运行不足才能执行放弃连接的检查:

    当可用的数据库连接不足时 DBCP 将恢复和回收任何 它发现的废弃 dB 连接。

    我还将 removeAbandonedTimeout 更改为 20,这样您就不必等待很长时间来检查检测器是否工作正常。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 2020-08-22
    • 2013-01-02
    • 2019-03-03
    • 1970-01-01
    • 2017-02-15
    • 2014-08-02
    相关资源
    最近更新 更多