<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秒后也是如此。上面的配置有什么问题吗?
答案 0 :(得分:2)
我会将maxActive
设置为较小的值,如50,然后检查配置是否正常工作。
根据{{3}},连接池必须运行低以执行对已放弃连接的检查:
当可用的数据库连接运行不足时 DBCP将恢复和回收任何 放弃了它找到的dB连接。
我还会将removeAbandonedTimeout
更改为20,这样您就不必等到检查探测器是否正常工作。