You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Phil Steitz (JIRA)" <ji...@apache.org> on 2010/02/15 05:43:27 UTC

[jira] Updated: (DBCP-180) [dbcp] Dbcp doesn't meet JDBC specification

     [ https://issues.apache.org/jira/browse/DBCP-180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phil Steitz updated DBCP-180:
-----------------------------

    Fix Version/s:     (was: 1.4)
                   2.0

> [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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.