[
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)