[ https://issues.apache.org/jira/browse/DBCP-180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Thomas resolved DBCP-180. ------------------------------ Resolution: Fixed The issues that led to AbandonedTrace being deprecated were fixed and the deprecation removed. I have fixed this in DBCP 2 by using a WekaReference within AbandonedTrace. > [dbcp] Dbcp doesn't meet JDBC specification > ------------------------------------------- > > Key: DBCP-180 > URL: https://issues.apache.org/jira/browse/DBCP-180 > Project: Commons Dbcp > Issue Type: Improvement > Affects Versions: 1.2 > Environment: Operating System: other > Platform: All > Reporter: Rohan Lenard > Priority: Minor > Fix For: 2.0 > > > The JDBC specification says for ResultSet and Statement that the ResultSet > and > Statement will be automatically closed when garbage collected. > This means that people often write code like this > Connection.getStatement().executeSQL("...."); > However, because the DelegateConnection/DelegateStatement/DelegateResultSet > extend AbandonedTrace (and are linked into the abandoned trace mechanism) > they > will not be garbage collected until the connection is closed. > This of course means that DBCP holds on to lots of memory that it shouldn't > do > (I've had people complain to me of memory leaks). > Surely it's possible to make the DelegateXX hold onto something else which > does > the AbandonedTrace and so when it is released it can do the implicit close > and > then everything will be coool. -- This message was sent by Atlassian JIRA (v6.1.5#6160)